我在查询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次。好吧,我只需要解决这个问题,这样我就可以继续前进了。谢谢!
答案 0 :(得分:2)
如果您可以使用$data['events']['event_name']
获取活动名称,则表示$data[events]
包含一行。从您的视图中移除foreach
并尝试使用$events['event_name']
,$events['event_date']
等。
row_array
只返回结果集中的一行。