php - 使用 PHP 将 MySQL 查询的结果显示到表中

标签 php mysql html sql

这是一个时间表,它的作用是显示前一天的时间表和谁预订了每个时段(这是一个广播电台。)

目前它按时间顺序显示谁预订了每个时段,但我希望它在每个结果旁边显示时间。查询输出 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/

相关文章:

php - 使用多个文件在php中一次访问数据库

python - 当时间为 00 :00:00? 时,如何阻止 python 将 mySQL DATETIME 转换为 datetime.date

python - Django 管理员登录 OperationalError at/admin/login/(1044, "Access denied for user

php - 使用 PHP 变量自定义 SQL 语句?

html - 网站上线时图片不会显示为背景

php - 两个或多个时间间隔之间的持续时间(在 PHP 中)

php - 如何有效地同时哈希多个密码?

javascript - HTML5 在 .hta 文件中工作吗?

javascript - 许多按钮的按钮单击动画

javascript - 使用 php 创建的图像上的鼠标 onclick() 事件