$select="select name,state from table ";
//数据如下:
test 111
test 222
test 333
test1 444
test1 555
test2 666
//
$query=mysql_query($select);
while($row=mysql_fetch_array($query)){
 printf("<tr>td nowrap >%s</font></td>",$row[0]);
 printf ("<td nowrap >%s</font></td>",$row[1]);}
我想将页面输出结果这么排列怎么弄
test 111 222 333
test1 444 555
test2 666

解决方案 »

  1.   

    <?php
    $a = array("test" => array(111,222,333),
     "test1" => array(444,555),
     "test2" => 666);
    $b = array();
    foreach($a as $k=>$v)
    {
    if(is_array($v)) $v=join(" ",$v);
    $b[$k] .= $v;
    }
    print_r($b);
    ?>
    Array ( [test] => 111 222 333 [test1] => 444 555 [test2] => 666 )
      

  2.   

    不行,GROUP后test就只能得到一个值
      

  3.   

    $select="select name,state from table order by test";
    //数据如下:
    test 111
    test 222
    test 333
    test1 444
    test1 555
    test2 666
    //
    $query=mysql_query($select);
    $a = '';
    while($row=mysql_fetch_array($query)){
    if($a!=$row[0]||$a==''){
     printf("<tr>td nowrap >%s</font></td>",$row[0]);
    } printf ("<td nowrap >%s</font></td>",$row[1]);if($a!=$row[0]||$a==''){
     echo ("</tr>");
    }
     $a = $row[0];}
    我想将页面输出结果这么排列怎么弄
    test 111 222 333
    test1 444 555
    test2 666试试
      

  4.   

    $query=mysql_query($select);
    while($row=mysql_fetch_array($query)){
    $arr[$row[0]] .= $row[1].' ';
    }
    foreach($arr as $key=>$value)
    {
      echo $key.''.$value.'<br>';
    }
      

  5.   

    谢谢你们,按照你们的是能够输出,但是它每个TD都有背景的,
    test 111 222 333
    test1 444 555
    test2 666
    页面这样显示,test1就有一TD是空白的,test2有两个TD空白很难看,怎么补全td
      

  6.   

    <?
    $select="select name,state from table ";
    /*数据如下:
    test 111
    test 222
    test 333
    test1 444
    test1 555
    test2 666
    */$max_len = 0;
    $arr = array();//第一个循环,建立数组,并得到最大数组
    $query=mysql_query($select);
    while($row=mysql_fetch_array($query)){
        $arr["$row[0]"][] = $row[1];
        $max_len = max($max_len,count($arr["$row[0]"]));
    }//第二个循环,扩充数组,并输出表格
    foreach($arr as $key=>$val){
    for($i=count($val);$i<$max_len;$i++) $val[] = "&nbsp;";
        echo "<tr><td>".join("</td><td>",$val)."</td></tr>";
    }
    ?>