从PHP中检索数据库中的数据时,如何在表中连接2个单元格?

时间:2016-10-18 11:30:39

标签: php html mysql

我必须使用PHP在网页中显示时间表(存储在数据库中 - MySQL)。我可以通过使用表格来简单地显示它。但是一个细胞代表一个小时。如果相邻细胞包括相同的受试者,我怎么能合并2个细胞?请帮我。 此外,我应该将这些单元格显示为文本框,我应该能够选择这些单元格。 这是我的显示时间表代码。

mysqli_select_db($connect,"timetable");

$result = mysqli_query($connect,"select * from 3yeariit2");


echo"<table border='1'>";
    echo"<tr><th>Time</th>";
    echo"<th>Monday</th>";
    echo"<th>Tuesday</th>";
    echo"<th>Wednesday</th>";
    echo"<th>Thursday</th>";
    echo"<th>Friday</th>";
    echo"</tr>";

while($row = mysqli_fetch_array($result)){
    $time = $row["time"];
    $monday = $row["monday"];
    $tuesday = $row["tuesday"];
    $wednesday = $row["wednesday"];
    $thursday = $row["thursday"];
    $friday = $row["friday"];

    echo"<tr><td>$time</td>";
        echo"<td>$monday</td>";
        echo"<td>$tuesday</td>";
        echo"<td>$wednesday</td>";
        echo"<td>$thursday</td>";
        echo"<td>$friday</td>";
    echo"</tr>";    
}
echo"</table>";

例如,CST 391-2 [D1]应合并下图中的3.00-5.00时段

enter image description here

该方法应该可以应用于加载任何其他时间表。因为我应该显示更多的时间表。

3 个答案:

答案 0 :(得分:2)

您可以使用&#34; colspan&#34;或&#34; rowspan&#34;用于合并行或列的属性

答案 1 :(得分:0)

您似乎只是将时间作为单个字符串添加到数据库和列中数天。更好的方法是将开始时间和结束时间创建为单独的列,如下所示。

subjectcode | subjectname | start | end | ...

然后您可以使用一行轻松添加2小时的主题。

但在这种情况下,您可以查看下一个相关主题,如果主题相同,请执行html row span。此后,在下一次迭代中,如果已使用上一次迭代打印了特定主题,则需要跳过添加<td>

我刚才解释了逻辑而不是代码。希望它有所帮助..

答案 2 :(得分:0)

您可以使用“colspan”合并多个列,使用“rowspan”合并多行:

喜欢:

select right((val::bit(128) >> (128 -length(val)))::text, sz)::bit(sz)
from (values (b'1001100111000', 32)) s(val,sz)
;
              right               
----------------------------------
 00000000000000000001001100111000