簡體   English   中英

CodeIgniter:如何通過ID獲取數據並預覽(ID在哪里)

[英]CodeIgniter : How to get data by ID and preview it (Where ID)

我有2張桌子:

  1. 產品組
  2. 產品

每個產品在表中都有group_id作為外鍵。

我嘗試通過group_id調用每個產品。

這是我的list_group視圖:

 <a href="<?= base_url('list_group/get_product_by_group/'. $value->group_id);?>" class="right-icon"><i class="icon-line-ellipsis"></i></a>

我嘗試在URL中附加group_id。

這是我的控制器:

    public function get_product_by_group($group_id)
    {

            if($this->uri->segment(3))
            {
                    $this->load->database();
                    $group_id = $this->input->get('group_id', TRUE);
                    $data['product_data'] = $this->group_model->list_product_by_group($group_id);
                    $this->load->view('fend/list_product', $data);

            }
            else
            {
                    redirect('list_group');
            }

    }

這是我的模型:

        function list_product_by_group($group_id)
        {
                $this->db->select('*');
                $this->db->where('group_id', $group_id);
                $query = $this->db->get('product');
                return $query->result();
        }

最后是list_product視圖:

 <?php
      foreach($product_data as $value)
      {
 ?>

   <div class="masonry-thumbs col-3" data-big="2" data-lightbox="gallery">
      <a href="<?= base_url('uploads/'. $value->product_picture);?>" data-lightbox="gallery-item"><img class="image_fade" src="<?= base_url('uploads/'. $value->product_picture);?>" alt="Gallery Thumb 1"></a>
   </div>

 <?php
     }
 ?>

我沒有錯誤,但是數據沒有出現在product_view中。

謝謝你的幫助 :))

如果刪除行$group_id = $this->input->get('group_id', TRUE); 它會解決您的問題。

這里是解釋:

您的控制器函數名稱是public function get_product_by_group($group_id)因此當您轉到此鏈接時, localhost/norwin/list_group/get_product_by_group/1 1將作為$ group_id傳遞到get_product_by_group函數中。因此,最終函數將如下所示

public function get_product_by_group($group_id='')
//write this way so that you can call the url like
//localhost/norwin/list_group/get_product_by_group
{

        if($group_id)//no need to check uri->segment
        {
                $this->load->database();                    
                $data['product_data'] = $this->group_model->list_product_by_group($group_id);
                $this->load->view('fend/list_product', $data);

        }
        else
        {
                redirect('list_group');
        }

}

暫無
暫無

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

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