我有一张表格。让我们说5比5.我运行一个循环,如
<table>
<tbody>
<?php for ($i = 0; $i < 5; $i += 5) {
echo "<tr>
<td>one box</td>
<td>one two</td>
<td>one three</td>
<td>one four</td>
<tr>";
}?>
</tbody>
</table>
它会创建一个表格,例如
| | | | | |
-------------------------------------
| | | | | |
-------------------------------------
| | | | | |
-------------------------------------
| | | | | |
-------------------------------------
| | | | | |
-------------------------------------
现在我为我的目的加载了mysql数据,我需要它分别放入数据,所以表格看起来像
| | | | | |
-------------------------------------
| | | | | |
-------------------------------------
| | Res 1| | | |
-------------------------------------
| | | | Res 3| |
-------------------------------------
| |Res 4 | | | Res 2|
-------------------------------------
我该怎么做?我有50个结果,需要将结果填入正确的列和行。我需要做一些if(results [0-50] ['id'] == rowcolumnid)在执行for循环时回显正确表的结果。
编辑:这是我的完整代码。
<table id="schedule">
<tbody>
<?php
$time = mktime(0, 0, 0, 1, 1);
for ($i = 28800; $i < 62200; $i += 1800) { ?>
<tr id="row<?php echo $i; ?>">
<td id="hour">
<?php
printf('%1$s',date('g:i a', $time + $i));
?>
</td>
<td id="sunday"></td>
<td id="monday"></td>
<td id="tuesday"></td>
<td id="thursday"></td>
<td id="friday"></td>
<td id="saturday"></td>
</tr>
<?php } ?>
</tbody>
</table>
我的mysql结果采用日期时间格式,我将用它来传播表格。
结果:
ID| EVENT NAME | DATEOFEVENT
1 | event name | 2012-11-20 12:00:00
2 | event name | 2012-11-21 13:30:00
3 | event name | 2012-11-22 13:00:00
4 | event name | 2012-11-23 11:00:00
5 | event name | 2012-11-24 08:00:00
等
我可以对日期和日期命令进行strtotime以匹配。
答案 0 :(得分:1)
如果您首先获取数据(或者如果您首先获取第一个数据时它被排序),那么您可以在匹配迭代的时间/时间来绘制表格时迭代数据。
作为一个例子,我选择只显示一个代表5小时(1-5)的列,其中一些可以匹配。那些匹配的,存储在一个数组中,并作为迭代器(ArrayIterator
)提供:
$data = [3,5];
$datas = new ArrayIterator($data);
$datas->rewind();
匹配的小时数用1表示,不匹配的小时表示0:
echo "+---+---+\n";
foreach(range(1, 5) as $hour)
{
if ($hasData = ($datas->valid() and $datas->current() === $hour)) {
$datas->next();
}
$hasData = (int) $hasData;
echo "| $hour | $hasData |\n";
echo "+---+---+\n";
};
输出:
+---+---+
| 1 | 0 |
+---+---+
| 2 | 0 |
+---+---+
| 3 | 1 |
+---+---+
| 4 | 0 |
+---+---+
| 5 | 1 |
+---+---+
如果来自数据的数据可用作迭代器(通常情况下,mysql_*
需要为您编写一个)并且是否已对其进行排序,则此方法非常有效。
即使这只是这里的单个列表,对于一个实际上同样有效的表,因为表只是表示数据的另一种形式。