如何用php对数据进行分组并将其显示在表格中(表格中的表格)?

如何用php对数据进行分组并将其显示在表格中(表格中的表格)?

问题描述:

我在将表中的数据表分组时遇到问题。 我做了,但我认为结果不符合预期。如何用php对数据进行分组并将其显示在表格中(表格中的表格)?

这是示例脚本:

<?php 

$conn=mysql_connect('localhost','root',''); 
mysql_select_db('things',$conn) or die ("Database Not Found"); 
$result = mysql_query("SELECT id, name, size, color FROM things ORDER BY color"); 
$state = -1; 
$no = 1;  

echo '<table border=1><tr><td>INDEX OF COLOR</td></tr><tr><td>'; 

    while($row = mysql_fetch_array($result)) { 

     if($state!= $row['color']) { 
      $no = 1; 
      echo '<tr bgcolor=yellow><td>'.$row['color']."</td></tr>"; 
      echo '<tr><td><table border=1><tr><th>no</th><th>NAME OF HERO</th></tr>'; 
      $state = $row['color']; 
     } 

     echo '<tr><td>'.$no.'</td><td>'.$row['name'].'</td></tr>'; 




     $no++; 

    } 

    echo '</td></tr></table>'; 

?> 

该代码产生错误的表在表中。期望的结果是彩色组>>详细信息(表)。

我需要得到这样的:)

+-------------------+ 
| INDEX OF COLOR | 
+-------------------+ 
|RED    | 
+-------------------+ 
| +----------+  | 
| |HERO  |  | 
| +----------+  | 
| |ROBIN  |  | 
| +----------+  | 
| |INCREDIBLE|  | 
| +----------+  | 
+-------------------+ 
|BLUE    | 
+-------------------+ 
| +----------+  | 
| |HERO  |  | 
| +----------+  | 
| |SPIDEY |  | 
| +----------+  | 
| |SUPER MAN |  | 
| +----------+  | 
| |ICE MAN |  | 
| +----------+  | 
+-------------------+ 

谁能帮助我,为什么这个代码错了吗? 谢谢。 :)

+0

你现在得到了什么结果? –

+0

当前结果:http://bahalabs.com/uploads/error.png – bijou

+0

您的标题不需要全部大写。只是我2美分。 –

我认为你的表是比它需要更复杂的方式。我没有测试过这个,但是试试看。

$first_color = true; 
echo '<table border=1><tr><td>INDEX OF COLOR</td></tr>'; 

while($row = mysql_fetch_array($result)) { 

    if($state!= $row['color']) { 
     if(!$first_color) { 
      echo '</table></td></tr>'; 
      $first_color = true; 
     } 
     $no = 1; 
     echo '<tr bgcolor=yellow><td>'.$row['color']."</td></tr>"; 
     echo '<tr><td><table border=1><tr><td>no</td><td>NAME OF HERO</td></tr>'; 
     $state = $row['color']; 
    } 

    echo '<tr><td>'.$no.'</td><td>'.$row['name'].'</td></tr>'; 




    $no++; 

} 

echo '</table></td></tr></table>'; 
+0

:D抱歉$ sasas只是为了调试。哈哈哈忘了删除它。 – bijou

+0

以前感谢,但我需要的细节是表格格式在表父母(颜色)像这样http://bahalabs.com/uploads/right.png – bijou

+0

好的,我会编辑它,然后再试一次。 –