我有一个包含产品和类别表的数据库。我设法显示了产品类别及其相关产品。而且目前看起来像这样。
但是我需要像这样
Category B
Product 1
Category A
Product 2
Product 3
Product 4
Product 5
以下是我的查询
<?php
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
?>
<h1><?php echo $row["name"];?></h1>
<p><?php echo $row["prod_desc"];?></p>
<a href=""><?php echo $row["prod_name"]; ?></a>
<?php echo $row["quantity"]; ?>
<?php echo $row["buy_price"]; ?>
<?php
}
}
?>
答案 0 :(得分:0)
首先重新排列数组,然后尝试使用它来显示数据
<?php
$final_array = [];
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_array($result)){
$final_array[$row["name"]][] = ['prod_desc'=>$row["prod_desc"],'prod_name'=>$row["prod_name"],'quantity'=>$row["quantity"],'price'=>$row["buy_price"]];
}
?>
<?php foreach($final_array as $key=>$val){?>
<h1><?php echo $key;?></h1>
<?php foreach($val as $v){?>
<p><?php echo $v["prod_desc"];?></p>
<a href=""><?php echo $v["prod_name"]; ?></a>
<?php echo $row["quantity"]; ?>
<?php echo $row["buy_price"]."<br><br>"; ?>
<?php } ?>
<?php } ?>
<?php }?>
答案 1 :(得分:0)
尝试存储上次使用的类别并检查其是否更改:
<?php
$category='';
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
if($category!=$row["name"]) {
?>
<h1><?php echo $row["name"];?></h1>
?>
}
$category=$row["name"];
<?php
<p><?php echo $row["prod_desc"];?></p>
<a href=""><?php echo $row["prod_name"]; ?></a>
<?php echo $row["quantity"]; ?>
<?php echo $row["buy_price"]; ?>
<?php
}
}
?>
请记住在SQL查询中按类别对输出数据进行排序