这是一个时间表,它所做的是显示前一天的时间表以及谁预订了每个时段(这是广播电台的时间表)。
目前,它显示谁已经按时间顺序预订了每个时隙,但我希望它能说出每个结果旁边的时间。查询输出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>";
}
?> 你能帮上忙吗?
发布于 2012-04-12 02:51:10
我认为我们都在努力研究一个非常简单的问题。您已经在查询中使用了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循环中。
发布于 2012-04-12 02:50:35
试试这个:
foreach ($rowset as $row) {
echo "<tr><td>" . htmlspecialchars($row['username']) . htmlspecialchars($row['time'])"</td></tr>";https://stackoverflow.com/questions/10111956
复制相似问题