我正在建立一个在线餐馆项目,用户可以通过该项目订购商品。我有一个带有id,item_name,item_image,item_price和category的sql表。 我想明智地显示视图类别中的所有项目。 我的控制器功能是: -
public function order()
{
if($this->session->userdata('is_logged_in'))
{
$data['i']=$this->model_db->item_details();
$this->load->view('order',$data);
}
else {
redirect('main/login');
}
}
我的模型功能是
public function item_details()
{
$query = $this->db->query("SELECT * FROM items");
return $query->result();
}
我的观看代码是
<div class="container-fluid">
<div class="row">
<div class="col-lg-2 col-xs-12 side-nav"></div>
<div class="col-lg-10 main">
<?php
foreach ($i as $item) {
# code...
?>
<div class="col-xs-12 col-lg-4 <?php echo $item->category ?>">
<div class="col-xs-12 col-lg-8 item">
<img src="<?php echo $item->img?>" width="200px" height="150px">
<p><?php echo $item->item_name?></p>
<p><?php echo $item->category?></p>
<p><?php echo $item->price?></p>
<p><a href="<?php echo base_url() ?>main/add_to_cart/<?php echo $item->img?>/<?php echo $item->item_name?>/<?php echo $item->price?>" class="btn btn-danger">Place Order</a>
</form>
</div></div>
<?php
}
?>
</div>
</div>
</div>
</body
</html>
我想在视图类别中显示上面的所有结果。
答案 0 :(得分:0)
有几种可能的解决方案。它们都不是特定于codeigniter的。
以下是一些未经测试的代码,应该按照您的要求执行:
public function item_details()
{
$items = array();
$categories = $this->db->query("SELECT DISTINCT(category) FROM items")->result();
foreach($categories as $category)
{
$items[$data] = $this->db->query('SELECT * FROM items WHERE category = ?', $category)->result();
}
return $items;
}
并在视图中显示以下内容:
foreach ($i as $category => $item) {
// display it ...
}