首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示来自MySQL的数据

如何显示来自MySQL的数据
EN

Stack Overflow用户
提问于 2016-09-13 11:11:09
回答 1查看 175关注 0票数 2

我创建了一个在线时间表,它运行良好,用户或我可以使用一些数据添加新的时刻表行,我的最终结果如下。

这是我的SQL查询(请不要警告我使用MySQLi或PDO,我知道它们,但这是一个私有应用程序,我可以编写不安全的代码。)

代码语言:javascript
复制
 $date = date("d/m/y");
    $sql = "SELECT * FROM `s_timetable` WHERE `date` = '$date'";
    $res = mysql_query($sql) or die(mysql_error());

     while ($fetch_data = mysql_fetch_array($res)) {
        echo "<tr>";
        echo "<td>" .$fetch_data['batch_info']. "</td>";
        echo "<td>" .$fetch_data['class_info']. "</td>";
        echo "<td>" .$fetch_data['subject_info']. "</td>";
        echo "<td>" .$fetch_data['teacher_info'].  "</td>";
        echo "</tr>";
     }
   ?>

但是在向数据库查询后,我得到了很多相同值的结果,如何将它们显示为组。

示例:

LDC batch - 08:09 - science - Ashok B.

LDC batch - 09-10 - English - Jaky

LDC batch - 10-11 - Maths - Bella

现在,我如何将这些数据显示为表,以LDC batch的标题作为重复,然后用表体显示time subjectteacher信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-13 11:17:05

这里的一个选项是提供一个3列HTML表,其中包含每个批处理的时间、主题和教师数据。当批处理类型在结果集中发生更改时,可以将新行打印为标头。

代码语言:javascript
复制
$header = "";
while ($fetch_data = mysql_fetch_array($res)) {
    if ($header = "" || $header != $fetch_data['batch_info']) {
        echo "<tr><td colspan=\"3\">".$fetch_data['batch_info']."</td></tr>";
        $header = $fetch_data['batch_info'];
    }
    echo "<tr>";
    echo "<td>" .$fetch_data['class_info']. "</td>";
    echo "<td>" .$fetch_data['subject_info']. "</td>";
    echo "<td>" .$fetch_data['teacher_info'].  "</td>";
    echo "</tr>";
 }

更新:

正如@apokryfos所指出的,您应该通过batch_info列命令您的结果集,以确保属于同一批的记录总是相邻的。因此,您的查询可能变成:

代码语言:javascript
复制
SELECT *
FROM s_timetable
WHERE date = '$date'
ORDER BY batch_info
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39468584

复制
相关文章

相似问题

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