$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$query="select * from order_items order by order_id desc";
$arr=mysqli_query($conn,$query);
while($row = mysqli_fetch_array($arr)){
echo '<tr>';
echo '<td>'.$row['order_id'].'</td>';
echo '<td>'.$row['isbn'].'</td>';
echo '<td>'.$row['item_price'].'</td>';
echo '<td>'.$row['quantity'].'</td>';
echo '<td>'.$row['trade_status'].'</td>';
echo '</tr>';
}
这是我写的一个简单的输出代码,但是如果出现重复的就全部输出,需要重复order_id只输出一组即可,请帮我改改,我是菜鸟,最好帮把我代码写完整些。
第1个回答 推荐于2016-08-06
可以从sql语句出发,如:$query="select * from order_items group by order_id order by order_id desc";
或者从逻辑上出发,$arr=mysqli_query($conn,$query);后面加上一句$order_list = array();,然后while里面改成
while($row = mysqli_fetch_array($arr)){
if(!in_array($row['order_id'],$order_list)){
echo '<tr>';
echo '<td>'.$row['order_id'].'</td>';
echo '<td>'.$row['isbn'].'</td>';
echo '<td>'.$row['item_price'].'</td>';
echo '<td>'.$row['quantity'].'</td>';
echo '<td>'.$row['trade_status'].'</td>';
echo '</tr>';
$order_list[] = $row["order_id"];
}
}追问
或者从逻辑上出发,$arr=mysqli_query($conn,$query);后面加上一句$order_list = array();,然后while里面改成
while($row = mysqli_fetch_array($arr)){
if(!in_array($row['order_id'],$order_list)){
echo '<tr>';
echo '<td>'.$row['order_id'].'</td>';
echo '<td>'.$row['isbn'].'</td>';
echo '<td>'.$row['item_price'].'</td>';
echo '<td>'.$row['quantity'].'</td>';
echo '<td>'.$row['trade_status'].'</td>';
echo '</tr>';
$order_list[] = $row["order_id"];
}
}追问
大侠你太棒了!
本回答被提问者采纳第2个回答 2014-10-28
循环结果集,将id存到一个数组arrid中,然后使用in_array()函数判断,id如果存在arrid中continue进入下次循环,否则将id加入到arrid