我正在使用会话来存储已查看的产品,但在查询数据库时打印出所有项目时遇到问题。
控制器
$hello_world = $this->session->all_userdata();
foreach($hello_world as $key=>$product_id) {
$query['products'] = $this->Global_products->globalFindProducts($product_id);
echo $product_id; // Right here it echos all the items in the session.
}
模型
function globalFindProducts($product_id)
{
$this->db->join('price','product.modelNumber = price.modelNumber','left')->where('product.modelNumber',$product_id);
$this->db->group_by('product.modelNumber');
$query = $this->db->get('by.product');
return $query->result();
}
查看
<?php foreach($products as $product) { ?>
<div><?php echo $product->name; ?></div>
<?php } ?>
在我看来,我只能看到一个项目,而不是所有项目。有人可以就你如何解决这个问题向我提出建议吗?
提前致谢
答案 0 :(得分:2)
试试这个,我还没有在CodeIgniter中编码,所以它是最好的猜测:
控制器
$hello_world = $this->session->all_userdata();
foreach($hello_world as $key=>$product_id) {
$query['products'][] = $this->Global_products->globalFindProducts($product_id);
echo $product_id; // Right here it echos all the items in the session.
}
注意:这里我将$query['products']
作为一个数组,因此所有结果都来自于
存储$this->Global_products->globalFindProducts($product_id);
答案 1 :(得分:0)
您在哪里将数据库结果共享给视图?
通常情况下,您需要使用以下内容:
$data['hello_world'] = $this->session->all_userdata();
然后在调用视图时,包含该数据数组:
$this->load->view('someview', $data);
因此,在您的视图中,您可以运行for循环:
<?php foreach($hello_world as $product) { ?>
<div><?php echo $product->name; ?></div>
<?php } ?>