【问题标题】:Is there any other way to print mysql table in html like a matrix form?有没有其他方法可以像矩阵形式一样在 html 中打印 mysql 表?
【发布时间】:2019-07-03 23:33:38
【问题描述】:

我目前正在做一个大学项目。要求是将数据(主题、班级、部分)打印到 html 表中的相应日期和时间。我尽力达到要求但 html 表只是打印再次打印下一个值,我希望将我的所有数据打印在一个表中对应的日期和时间。

这是我的数据库的图像:

这是我不满意的输出:

这是我的查询:

<?php  
include "conn.php";
include ("/styles/faculty_menu.php");
session_start();
$uid=$_SESSION['userid'];
$cuid=strtoupper("$uid");
$qrun=mysql_query("SELECT * FROM login WHERE id='$cuid'");
$udata=mysql_fetch_assoc($qrun);
$q2run=mysql_query("SELECT * FROM schedule WHERE id='$cuid'");
$u2data=mysql_fetch_assoc($q2run);
$urole=$udata['role'];
$comp=strtoupper("$u2data[subject]");
$day = array("Monday", "Tuesday", "Wednessday", "Thursday", "Friday", "Saturday");
?>

我希望输出是一个表,所有受尊重的数据都在相应的位置。

这是我的代码:

<div class="table-responsive">
<table class="table table-bordered">
    <tr>
        <th>
            <center>Day/Hour</center>
        </th>
        <?php 
            for ($i=1; $i <=8 ; $i++) { 
            ?>
        <th>
            <center><?php echo $i; ?></center>
        </th>
        <?php } ?>
    </tr>
    <?php
        while ($rows=mysql_fetch_assoc($q2run)) {
           for ($d=0; $d <6 ; $d++) { 
           ?>
    <tr>
        <th>
            <center><?php echo $day[$d]; ?></center>
        </th>
        <?php 
            for ($r=1; $r <=8; $r++) {

                ?>
        <td>
            <?php 
                if ($rows['day']==$day[$d] && $rows['hour']==$r) {
                    echo $rows['class'],$rows['section'],$rows['subject'];

                }
                ?>
        </td>
        <?php } ?>
    </tr>
    <?php } 
        }
              ?>
</table>

【问题讨论】:

  • 请同时上传您的代码。很难回答你的问题
  • hai @MD.JubairMizan 很抱歉给您带来不便,这是我在 stackoverflow 上的第二个问题,并且真的不知道这件事是如何工作的,我已经批准了您的修改。请您帮我处理我的代码
  • 这是一个编程网站,不是摄影网站。请张贴您的代码,而不是您的代码的照片。我们希望阅读、复制和粘贴和调试您的代码,而不是批评它对颜色和透视的使用。虽然,如果我可能批评你对颜色的使用,在我的屏幕上,你的照片完全不可读,这正是 为什么你应该将你的代码发布为代码,而不是作为照片。
  • @MD.JubairMizan 谢谢。我已经编辑了我的代码,你现在可以帮帮我吗?

标签: php css mysql html xampp


【解决方案1】:

我更改了您的代码的一些逻辑。希望这会奏效

<div class="table-responsive">
    <table class="table table-bordered">
        <tr>
            <th>
                <center>Day/Hour</center>
            </th>
            <?php 
            for ($i=1; $i <=8 ; $i++)
                echo '<th><center>'.$i.'</center></th>';
            ?>
        </tr>
        <?php
        for($d=0;$d<6;$d++){
        ?>
            <tr>
                <th>
                    <center><?php echo $day[$d]; ?></center>
                </th>

                <?php
                for ($r=1; $r <=8; $r++) {
                    echo '<td>';
                        while ($rows=mysql_fetch_assoc($q2run)) {
                            if($rows['day']==$day[$d] && $rows['hour']==$r)
                                echo $rows['class'],$rows['section'],$rows['subject'];
                        }
                    echo '</td>';
                }
                ?>
            </tr>
        <?php
        } 
        ?>

    </table>
</div>

【讨论】:

  • 用您的代码替换我的代码后,它在我的表中显示空行和列
  • @rohitsingh 你能截图吗
  • 你能去掉if($rows['day']==$day[$d] &amp;&amp; $rows['hour']==$r)的条件吗?这只是为了检查while循环是否正常工作。通过截图告诉我你得到了什么
  • 正如您提到的要删除 if 条件,我刚刚评论了该条件,它向我显示了单个单元格中的所有值。这是快照:imgur.com/a/rqeh8M0
  • 给我截图
猜你喜欢
  • 2021-01-08
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多