[英]CodeIgniter : How to get data by ID and preview it (Where ID)
我有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.