Php 使用codeigniter按类别显示产品
我有一个数据库,其中有两个名为categories和products的表。我想按类别展示产品 比如:-Php 使用codeigniter按类别显示产品,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我有一个数据库,其中有两个名为categories和products的表。我想按类别展示产品 比如:- Category 1 -Product 1 -Product 2 Category 2 -Product 3 -Product 4 但我的输出是:- Category 1 -Product 1 -Product 2 -Product 3 -Pro
Category 1
-Product 1
-Product 2
Category 2
-Product 3
-Product 4
但我的输出是:-
Category 1
-Product 1
-Product 2
-Product 3
-Product 4
Category 2
-Product 1
-Product 2
-Product 3
-Product 4
控制器代码:-
public function index()
{
$data['category'] = $this->db->distinct()->select('cat_name')->get('products')->result_array();
$this->load->view('frontend/index',$data);
}
<section class="top_savers">
<div class="inner_top_savers">
<?php if(!empty($category)) {
foreach($category as $cat){
$cat_name = $cat['cat_name'];
?>
<div class="top_savers_header">
<div class="heading_wrapper">
<h2><?php
$cat_name = $cat['cat_name'];
$catdata = $this->db->get_where('categories',array('categories_id'=>$cat_name))->row();
echo $catdata->name; ?></h2>
</div>
<a href="" class="view_all">View All</a>
</div>
<div class="top_savers_wrapper">
<!-- card-->
<?php if(!empty($category)) {
foreach($category as $cat){
$cat_name = $cat['cat_name'];
$productsdata = $this->db->get_where('products',array('cat_name'=>$cat_name))->result_array();
foreach($productsdata as $prod){
?>
<div class="top_savers_card">
<div class="top_ooff">
<a href="" class="number"><?php echo $prod['discount']?>%</a>
<!-- <span class="dot">
</span> -->
<span class="dot1">
</span>
</div>
<div class="img_box">
<a href="product_detail.html">
<img src="<?php echo base_url('backend/images/products/'.$prod['image']);?>" height='100px' width='100px'>
</a>
</div>
<h3 class="product_title"><?php echo $prod['name']?></h3>
<p class="stock"><i class="fas fa-check-circle red"></i> In Stock <span class="light"><?php echo $prod['quantity']?>
kg</span>
</p>
<div class="price_wrapper">
<p class="fake"><?php echo $prod['mrp']?> <i class="fas fa-rupee-sign"></i> </p>
<p class="real"><?php echo $prod['price']?><i class="fas fa-rupee-sign"></i></p>
</div>
<div class="counter_control">
<span class="minus">-</span>
<input type="text" class="counter_input" value=1>
<span class="plus">+</span>
</div>
<a href="" class="add_btn"><img src="<?php echo base_url();?>frontend/assets/images/cart.svg" alt=""> Add to cart</a>
</div>
<!-- end card-->
<?php
}} }
?>
</div>
<?php
} }
?>
</div>
</section>
查看:-
public function index()
{
$data['category'] = $this->db->distinct()->select('cat_name')->get('products')->result_array();
$this->load->view('frontend/index',$data);
}
<section class="top_savers">
<div class="inner_top_savers">
<?php if(!empty($category)) {
foreach($category as $cat){
$cat_name = $cat['cat_name'];
?>
<div class="top_savers_header">
<div class="heading_wrapper">
<h2><?php
$cat_name = $cat['cat_name'];
$catdata = $this->db->get_where('categories',array('categories_id'=>$cat_name))->row();
echo $catdata->name; ?></h2>
</div>
<a href="" class="view_all">View All</a>
</div>
<div class="top_savers_wrapper">
<!-- card-->
<?php if(!empty($category)) {
foreach($category as $cat){
$cat_name = $cat['cat_name'];
$productsdata = $this->db->get_where('products',array('cat_name'=>$cat_name))->result_array();
foreach($productsdata as $prod){
?>
<div class="top_savers_card">
<div class="top_ooff">
<a href="" class="number"><?php echo $prod['discount']?>%</a>
<!-- <span class="dot">
</span> -->
<span class="dot1">
</span>
</div>
<div class="img_box">
<a href="product_detail.html">
<img src="<?php echo base_url('backend/images/products/'.$prod['image']);?>" height='100px' width='100px'>
</a>
</div>
<h3 class="product_title"><?php echo $prod['name']?></h3>
<p class="stock"><i class="fas fa-check-circle red"></i> In Stock <span class="light"><?php echo $prod['quantity']?>
kg</span>
</p>
<div class="price_wrapper">
<p class="fake"><?php echo $prod['mrp']?> <i class="fas fa-rupee-sign"></i> </p>
<p class="real"><?php echo $prod['price']?><i class="fas fa-rupee-sign"></i></p>
</div>
<div class="counter_control">
<span class="minus">-</span>
<input type="text" class="counter_input" value=1>
<span class="plus">+</span>
</div>
<a href="" class="add_btn"><img src="<?php echo base_url();?>frontend/assets/images/cart.svg" alt=""> Add to cart</a>
</div>
<!-- end card-->
<?php
}} }
?>
</div>
<?php
} }
?>
</div>
</section>
库存
公斤
-
+
首先,我会避免在数据库中使用完整的cat_名称,而是使用类别的id。除此之外,您是否尝试记录每次迭代中的cat_名称,以及db查询中的$productsdata结果?您确定数据库中的数据正确吗?