[英]Display data from mysql in html tables
我不知道如何在一个循环内在单独的html表中显示来自mysql的数据。
这是我的mysql表的外观:
date name
---- ----
2011-02-02 Katrin
2011-02-02 Michael
2011-02-02 Joe
2011-02-05 David
2011-02-05 Steve
etc...
注意:我知道如何从表中获取数据。
这个想法是基于日期创建单个表。 例如,这里是应生成的html。
<table>
<tr>
<td>date</td><td>name</td>
<td>2011-02-02</td><td>Katrin</td>
<td>2011-02-02</td><td>Michael</td>
etc..
</tr>
</table>
<table>
<tr>
<td>date</td><td>name</td>
<td>2011-02-05</td><td>Joe</td>
<td>2011-02-02</td><td>David</td>
etc..
</tr>
</table>
这是我尝试的。
我已经计算了从表中获取了多少个不同的日期。 之后,我使用“ for”语句“绘制”表。
在这种情况下total_dates是2
<?php for($x = 0; $x < $total_dates; $x++): ?>
<table>
<tr>
<tr>
</table>
<?php endif; ?>
到现在为止还挺好。 该代码绘制表格。 问题是我无法弄清楚程序逻辑如何在表中显示数据,因此每个表都包含按日期分组的数据。
您可能希望首先根据日期对数据进行分组(请查看GROUP BY语句)。 如果您有此顺序,则可以逐条记录遍历数据记录。 在每个迭代中都包含一个if语句,以检查该日期与前一次迭代相比是否发生了变化。 如果是这种情况,请关闭表格并打开一个新表格。 喜欢(未经测试):
<table>
<? $prevDate = null; ?>
<? foreach($myData as $row){ ?>
<? if($prevDate != null && $prevDate != $row['date']) { ?>
</table><table>
<? } ?>
<tr>
<td>date</td>
<td>name</td>
<td>2011-02-02</td>
<td>Katrin</td>
<td>2011-02-02</td>
<td>Michael</td>
</tr>
<? $prevDate = $row['date']; ?>
<? } ?>
您可以在一个循环中完成此操作,但条件是您需要订购日期。
只是做这样的事情:
$table_header = '<table><tr><th>Header 1</th><th>Header 2</th></tr>';
$table_end = '</table>';
$flag = false;
echo $table_header;
for ($x in $total) {
if ($flag != $x->date && $flag != false) {
echo $table_end;
echo $table_header;
}
// Display table content for the current row
echo '<tr><td>'.$value.'</td><td>'.$value.'</td></tr>';
$flag = $x->date;
}
echo $table_end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.