数据模型
id  ordernum name
1   1111     aaa
2   1111     bbb
3   2222     ccc
4   2222     ddd
5   2222     eee显示结果为
1111
  1  aaa
  2  bbb
2222
  3  ccc
  4  ddd
  5  eee
能用foreach循环出来吗 ?谢谢

解决方案 »

  1.   


    $tempArray = array();
    while($row=db search){
    if(in_array($row['ordernum'],$tempArray)){
    echo "&nbsp;{$row['id']}  {$row['name']}<br>";
    }else{
    echo $row['ordernum'].'<br>';
    echo "&nbsp;{$row['id']}  {$row['name']}<br>";
    $tempArray[] = $row['ordernum'];
    }
    }
    s1ql语句应该order by ordernum,id
      

  2.   

    需要PHP做这件事情么?
    配合SQL做吧:
    使用ordernum先做个排序,猪头说的没错不过如果结果集很大的话,要注意效率哦,呵呵
      

  3.   

    说下我的思路,通过SQL查询,先按ordernum分组,再按name组内排序,得到结果集。
    输出的时候作下判断:可以设两个监视变量,$ordernum_new和$ordernum_old;检查本条记录和上一条记录是不是同一个ordernum下的就可以了。
      

  4.   

    提供个解决方案,
    先取出所有的记录:SELECT * FROM table_name ORDER BY id ASC;
    然后php处理:
    foreach ($records as $key => $val) {
        $arr[$val['ordernum ']][$val['id']] = $val['name'];
    }