我想在Php Mysql主页上按类别查看产品



有了这个,我得到了:

1类

产品

1类

产品

2类

产品

等等。。。

这是我的新查询:

<?php
$oldcat = "";
$sql_cat = "SELECT coupons_category.category_id, coupons_category.category_name, coupons_coupons.coupon_category, coupons_coupons.coupon_name, coupons_coupons.prezzo_reale, coupons_coupons.coupon_realvalue, coupons_coupons.acconto,coupons_coupons.gratis,coupons_coupons.coupon_startdate,coupons_coupons.coupon_image,coupons_coupons.coupon_enddate, coupons_coupons.meta_title,coupons_coupons.coupon_id  FROM coupons_category LEFT JOIN coupons_coupons ON coupons_category.category_id=coupons_coupons.coupon_category ORDER BY coupons_category.category_name";
$result_cat = mysqli_query($conn, $sql_cat);
if (mysqli_num_rows($result_cat) > 0) {
while($row_cat = mysqli_fetch_assoc($result_cat)) {
if ($oldcat != $row_cat['category_id'] ) {
if ($oldcat != "") echo "<br />"; 
echo "".$row_cat['category_name']."<br />";}
echo "". $row_cat['coupon_name']."";
$oldcat = $row_cat['category_id'];
}       
}

我认为您需要进行一次查询,并检查循环代码中的类别何时发生变化。类似于:

$oldcat = "";
$q = "select * from product where status = 'A' left join category on category.category_id = product.category order by category";
; execute the query
; while $row = mysqli_fetch_assoc($result) { 
if ($oldcat != $row['category'] ) {
if ($oldcat != "") echo "<br />"; 
echo $row['category.category_name'] . "<br />";
}
echo $row['product_name'];
$oldcat = $row['category'];
}

这是伪代码,所以我错过了所有不相关的部分,比如执行查询、检查它是否有效、转换产品名称等等。但我们的想法是,每次检索一行时,都会检查类别是否发生了变化,如果发生了,则显示新的类别名称。

最新更新