首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP语言将MySQL查询结果显示到表中

问使用PHP语言将MySQL查询结果显示到表中
EN

Stack Overflow用户
提问于 2012-04-12 02:39:11
回答 2查看 6.6K关注 0票数 1

这是一个时间表,它所做的是显示前一天的时间表以及谁预订了每个时段(这是广播电台的时间表)。

目前,它显示谁已经按时间顺序预订了每个时隙,但我希望它能说出每个结果旁边的时间。查询输出24行(从午夜到23:00),在每个槽的旁边,我希望它显示(00:00,01:00,02:00,03:00...21:00、22:00等等。)

这是我当前的代码:

代码语言:javascript
复制
<?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>";
}



?> 

你能帮上忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 02:51:10

我认为我们都在努力研究一个非常简单的问题。您已经在查询中使用了SELECT *,所以您已经从表中提取了所有三列。所以现在,您需要做的就是向表的每一行添加另一个单元格。

代码语言:javascript
复制
echo "<tr><td>" . htmlspecialchars($row['username']) . "</td><td>" . htmlspecialchars($row['time']) . "</td></tr>";

为了确保以正确的顺序获取行,您应该在查询中添加一个ORDER BY:

代码语言:javascript
复制
SELECT * FROM timetable WHERE day = '$yesterdow' ORDER BY time

如果不指定ORDER BY子句,就不能保证以任何特定的顺序得到结果。

最后一件事,您不必要地对行进行了两次循环。去掉foreach循环,将echo直接放在while循环中。

票数 1
EN

Stack Overflow用户

发布于 2012-04-12 02:50:35

试试这个:

代码语言:javascript
复制
foreach ($rowset as $row) {
echo "<tr><td>" . htmlspecialchars($row['username']) . htmlspecialchars($row['time'])"</td></tr>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10111956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档