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結果セットから1行のみを返します。

于 2012-10-28T05:58:51.040 に答える