簡體   English   中英

在codeigniter中獲取id=$id的數據庫中的所有行

[英]Get all rows form database where id=$id in codeigniter

這是我的代碼

 $this -> db -> select('*');
        $this -> db -> from('events');
        $this -> db -> where('user_id',$session_data['id']);


        $query = $this -> db -> get();

        $result = $query->result();

        if($result)
        {

            $events_array = array();
            foreach($result as $row)
            {
                $events_array = array(
                    'id' => $row->id,
                    'title' => $row->title,
                    'ev_img_name' => $row->ev_img_name,

                );

                $this->session->set_userdata('events',$events_array);
            }
            $session_data = $this->session->userdata('events');
            $id = $this->session->userdata('id');
            $data['id'] = $id;
            $data['id'] = $session_data['id'];
            $title = $this->session->userdata('title');
            $data['title'] = $title;
            $data['title'] = $session_data['title'];
            $ev_img_name = $this->session->userdata('ev_img_name');
            $data['ev_img_name'] = $ev_img_name;
            $data['ev_img_name'] = $session_data['ev_img_name'];

它只獲取表的第一行,但我需要獲取具有相同 user_id 的所有行。 我怎樣才能做到這一點。 提前致謝。

在 foreach 中,您將值重新分配給同一個數組。 嘗試使用

 $events_array = array();
 foreach($result as $row)
 {
      $events_array[] = array(
          'id' => $row->id,
          'title' => $row->title,
          'ev_img_name' => $row->ev_img_name,
      );

}
$this->session->set_userdata('events',$events_array);

這樣,您將擁有$events_array返回結果的所有行。

現在在你看來你可以這樣做

<?php foreach($events_array as $event) { ?>
   <div class="event">
      Title: <?= $event['title'] ?>
      Image: <br>
      <img src="<?= $event['ev_img_name'] ?>">
   </div>
<?php } ?>

試試這個代碼,你可以直接從 codeigniter sql 查詢中以數組格式獲取任何你想要的數據(字段數),然后將該數組直接設置為會話作為事件,如下所示,

 $this->db->select('id,title,ev_img_name');
 $this->db->from('events');
 $this->db->where('user_id',$session_data['id']);

 $result = $this->db->get()->result_array();

 if(count($result)>0){
      $this->session->set_userdata('events',$result);
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM