数据库查询返回奇怪的值,以便在codeigniter中显示

时间:2012-10-28 05:01:54

标签: php codeigniter

我在查询codeigniter时又遇到了困难。首先,我阅读了本教程,以了解我目前所做的工作:http://ellislab.com/codeigniter/user_guide/tutorial/news_section.html

现在,对于我的数据库的模型函数,我所做的是这样的事情:

public function get_events()
    {
            $id = $this->session->userdata('id');
            $this->db->flush_cache();
            $this->db->select('event_id');
            $this->db->select('event_name');
            $this->db->select('event_date');
            $this->db->select('event_time');
            $this->db->select('event_count');
            $this->db->select('event_max');
            $this->db->select('status');
            $query = $this->db->get_where('event_details',array('bar_id' => $id));
            return $query->row_array();
    }

现在要传递控制器中的值,我使用以下代码:

$data['events'] = $this->events_model->get_events();

对于视图我使用它:

<table class="events_list">
<?php foreach ($events as $events_info): ?>
    <tr>
        <td>
            <input type="hidden" value="<?php echo $events_info['id'] ?>">
            <?php echo $events_info['event_name'] ?>
        </td>
        <td>
            <?php echo $events_info['event_date'] ?>
        </td>
        <td>
            <?php echo $events_info['event_time'] ?>
        </td>
        <td>
            <?php echo $events_info['event_count'].'/'.$events_info['event_max'] ?>
        </td>
        <td>
            <?php echo $events_info['status'] ?>
        </td>
    </tr>
<?php endforeach ?>
</table>

我应该得到一个回报:

(hidden)1 | Silverstein Concert | 2012-07-11 | 18:00:00 | 0/500 | 1

但我得到了

的回报
1 | 1 | 1 | 1/1 | 1 

好吧,我还没有显示整个回归,但是这应该有7行,所有都有一个奇怪的1个字符返回(下一行包含完整的S)。自从我使用

以来,我无法确定问题的确切位置
$data['test']=$data['events']['event_name'];

在我的控制器中并在我的视图中显示事件名称,但只有第一行数据重复7次。好吧,我只需要解决这个问题,这样我就可以继续前进了。谢谢!

1 个答案:

答案 0 :(得分:2)

如果您可以使用$data['events']['event_name']获取活动名称,则表示$data[events]包含一行。从您的视图中移除foreach并尝试使用$events['event_name']$events['event_date']等。

row_array只返回结果集中的一行。