Php 数据库查询返回奇怪的值,以便在codeigniter中显示
我在查询codeigniter时又遇到了困难。首先,我阅读了有关本教程的内容,以了解我在当前课程中所做的工作: 现在,对于数据库的模型函数,我所做的是这样的:Php 数据库查询返回奇怪的值,以便在codeigniter中显示,php,codeigniter,Php,Codeigniter,我在查询codeigniter时又遇到了困难。首先,我阅读了有关本教程的内容,以了解我在当前课程中所做的工作: 现在,对于数据库的模型函数,我所做的是这样的: public function get_events() { $id = $this->session->userdata('id'); $this->db->flush_cache(); $this->db->select
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>
但我却得到了回报
1 | 1 | 1 | 1/1 | 1
我还没有显示整个返回,但是这应该有7行,所有的行都有一个奇怪的1字符返回(下一行包含完整的S)。我不知道问题到底出在哪里,因为我使用
$data['test']=$data['events']['event_name'];
在我的控制器中并在我的视图中显示事件名称,但只有第一行数据重复7次。我只需要解决这个问题,这样我就可以继续前进了。谢谢 如果可以使用
$data['events']['event\u name']
获取事件名称,则表示$data[events]
包含一行。从视图中删除foreach,然后尝试使用$events['event\u name']
,$events['event\u date']
等
仅从结果集中返回一行。如果可以使用
$data['events']['event\u name']
获取事件名称,则表示$data[events]
包含一行。从您的视图中删除foreach
并尝试使用$events['event\u name']
,$events['event\u date']
等。在foreach之前编写print\r($events)时,您会得到什么?哦,等等,我会尝试您的建议。:)哦,你们都对了,我只有一排。数组([event\u id]=>16[event\u name]=>Silverstein Concert[event\u date]=>2012-07-11[event\u time]=>18:00:00[event\u count]=>0[event\u max]=>500[status]=>1)。但它应该返回7行。这是怎么发生的?检查文档。
$data['test']=$data['events']['event_name'];