1

我在查询 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 次。好吧,我只需要解决这个问题,我就可以继续前进。谢谢!

4

1 回答 1

2

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

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

于 2012-10-28T05:58:51.040 回答