2017-05-25 79 views
2

这里类别是我的数据库:foreach循环与笨

-id product prodcut-company category 
-1 latitude   dell   laptop 
-2  .    acer   desktop 
-3  .    azus   mouse 
-4  .    sony   keyboard 

+如果我有很多的产品按类别分开,然后我想循环是由类我怎么能编码并显示在一个页面,然后列表它像笔记本电脑,台式机,...

请帮助! 谢谢

回答

1

您可以创建在模型的方法像这个 -

public function getData(){ 
    $this->db->from("product_table"); 
    $this->db->order_by("category"); 
    $q = $this->db->get(); 
    if($q->num_rows() > 0){ 
     return $q->result(); 
    } 
    return []; 
} 

取在控制器使用这种方法从模型数据和该值传递给视图。

$data[ 
    'products' => $this->your_model->getData() 
]; 
$this->load->view('your_view',$data); 

环路这些值,并打印在视图

... 

<?php  
if(!empty($products)){ 

    $count = count($products); 
    $i = 0; 

    while($i < $count){ 

     $category = $products[$i]->category; 

     echo '<h3>Category: '.$category.'</h3>'; 

     echo '<table> 
      <tr><th>Product</th><th>Company</th><th>Category</th></tr> 
     '; 
     for(; $i < $count && $category == $products[$i]->category ; $i++){ 
      echo ' 
      <tr> 
       <td>'.$products[$i]->product.'</td> 
       <td>'.$products[$i]->company.'</td> 
       <td>'.$products[$i]->category.'</td> 
      </tr> 
      '; 
     } 
     echo '</table>'; 

    } 

} 
?> 

... 
+0

OK,如果我做这样它会循环作为一个块,它不分开的块,然后我还想添加标题像笔记本电脑,台式机,键盘块的标签,... –

+0

好的,我正在更新ans。 –

+0

好的,谢谢你的支持 –