首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

查询数据库,按条件把内容按照数组分组排列显示,如何弄呢

2013-03-17 
查询数据库,按条件把内容按照数组分组排列显示,怎么弄呢?因为网站业务原因,订单的内容包含N个不同的姓名

查询数据库,按条件把内容按照数组分组排列显示,怎么弄呢?
因为网站业务原因,订单的内容包含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]."&nbsp;&nbsp;状态:".$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>";

热点排行