我必须使用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时段
该方法应该可以应用于加载任何其他时间表。因为我应该显示更多的时间表。
答案 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