查询数据库,按条件把内容按照数组分组排列显示,怎么弄呢?
因为网站业务原因,订单的内容包含N个不同的姓名 手机 性别 等等信息,上传表单的时候,是按照数组的方式上传的,现在需要显示一个总订单,按照订单号去 分组各个订单,是不是也是得按照数组的方式去查询输出和显示呢?因为本人是个新手,所以在这里请教各位大大!
数据库结构如下:
id name shouji sex zhuangtai orderid
1 张三 138XXX 男 1 1
2 李四 186XXX 女 1 1
3 王五 172XXX 男 1 1
4 小宝 189XXX 男 1 2
5 邵庄 186XXX 男 1 2
6 甜甜 133XXX 女 2 3
7 大宝 131XXX 男 3 4
.... .... ..... ... ... ...
大家可以看到,所有的数据是按照这个结构存在数据库中,每个订单号 只有【orderid】这个字段是相同的,其他都是不同的!
现在需要在一个页面上输出显示这些订单,并按照下面的方式去显示,请问怎么办呢?请大家给写个方法和范例,可以吗?先在这里谢谢大家了!
数据库 数组 查询
[解决办法]
大致可以这样写
$r=mysql_query('select orderid,zhuangtai,group_concat(`name`) as name,group_concat(`shouji`) as shouji,group_concat(`sex`) as sex from `order` group by orderid');
echo "<table width=950 border='1px solid'>";
echo "<tr><th>姓名</th><th>手机</th><th>性别</th></tr>";
while($row=mysql_fetch_assoc($r)){
$shouji_arr=explode(',',$row['shouji']);
$sex_arr=explode(',',$row['sex']);
echo "<td colspan=3>订单号:".$row[orderid]." 状态:".$row['zhuangtai']."</td>";
foreach(explode(',',$row['name']) as $k=>$v){
echo "<tr>";
echo "<td>$v</td><td>$shouji_arr[$k]</td><td>$sex_arr[$k]</td>";
echo "</tr>";
}
}
echo "</table>";