这是一个时间表,它的作用是显示前一天的时间表和谁预订了每个时段(这是一个广播电台。)
目前它按时间顺序显示谁预订了每个时段,但我希望它在每个结果旁边显示时间。查询输出 24 行(从午夜到 23:00),在每个插槽旁边我想说(00:00、01:00、02:00、03:00 ... 21:00、22 :00 依此类推。)
这是我当前的代码:
<?php
include("../config.php");
#// Timetable Clearup Variabls
$yesterday = strtotime('yesterday');
$yesterdow = date('l',$yesterday);
echo "<table width=\"580px\" class=\"board\" border=\>";
$order = "SELECT * FROM timetable WHERE day = '$yesterdow'";
$result = mysql_query($order);
// Error checking
if (!$result) {
// output error, take other action
}
else {
while ($row=mysql_fetch_array($result)){
// Append all results onto an array
$rowset[] = $row;
}
}
foreach ($rowset as $row) {
echo "<tr><td>" . htmlspecialchars($row['username']) . "</td></tr>";
}
?>
你能帮忙吗?
最佳答案
我认为我们都过于关注一个非常简单的问题。您已经在查询中使用了 SELECT *
,因此您已经从表中提取了所有三列。所以现在,您需要做的就是向表格的每一行添加另一个单元格。
echo "<tr><td>" . htmlspecialchars($row['username']) . "</td><td>" . htmlspecialchars($row['time']) . "</td></tr>";
为了确保您以正确的顺序获取行,您应该在查询中添加一个ORDER BY
:
SELECT * FROM timetable WHERE day = '$yesterdow' ORDER BY time
如果您不指定 ORDER BY
子句,则无法保证您将以任何特定顺序获得结果。
最后一件事,你在行中循环了两次,这是不必要的。摆脱 foreach 循环并将 echo 直接放在 while 循环中。
关于php - 使用 PHP 将 MySQL 查询的结果显示到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111956/