如何用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 | |
| +----------+ |
+-------------------+
谁能帮助我,为什么这个代码错了吗? 谢谢。 :)
答
我认为你的表是比它需要更复杂的方式。我没有测试过这个,但是试试看。
$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>';
你现在得到了什么结果? –
当前结果:http://bahalabs.com/uploads/error.png – bijou
您的标题不需要全部大写。只是我2美分。 –