PHP如何循环重复ID只输出一组?

$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"];
}

}追问

大侠你太棒了!

本回答被提问者采纳
第2个回答  2014-10-28
循环结果集,将id存到一个数组arrid中,然后使用in_array()函数判断,id如果存在arrid中continue进入下次循环,否则将id加入到arrid

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网