希望您有美好的一天。该表将包含学生列表。我为该表创建了一个名为“进度评估”的列。在针对特定学生的进度评估专栏中,其中会有几个链接,这就是为什么我想知道如何在特定专栏中添加多行的原因。我认为到那时插入链接可能会更容易。
这是我创建的表。它连接到数据库。我已经尝试过rowspan属性,但是我没有得到想要的结果,或者我可能不完全了解如何使用它。
echo '<table align="center">
<tr><th><b>Matric Number</b></th><th><b>Name</b></th><th><b>Programme</b>
</th><th><b>Project Title</b></th><th><b>Progress Evaluation</b></th>
</tr>';
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo '<tr><td>' . $row['Matric_Number'] . '</td>
<td>' . $row['Name'] . '</td>
<td>' . $row['Programme'] . '</td>
<td>' . $row['Project_Title'] . '</td>
<td><b>mutiple row in here</b></td>
</td></tr>';
是的,基本上我希望进度评估下的每一列包含3行。谢谢您的宝贵时间。
答案 0 :(得分:1)
其中一种选择是在所有其他单元格中使用 rowspan 标签。 显然,这可能不是您的最佳选择,而是众多选择之一。
<table border="1">
<tbody>
<tr>
<td rowspan="3">A</td>
<td rowspan="3">B</td>
<td>C1</td>
</tr>
<tr>
<td>C2</td>
</tr>
<tr>
<td>C3</td>
</tr>
</tbody>
</table>
答案 1 :(得分:1)
假设我对您的理解正确,那么您有两个不同的问题之一:
使用PHP循环将您想重复的裸HTML部分括起来:
<table>
<tbody>
<?php while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) : ?>
<tr>
<td><?= $row["Matric_Number"] ?></td>
<td><?= $row["Name"] ?></td>
<td><?= $row["Programme"] ?></td>
<td><?= $row["Project_Title"] ?></td>
<td>
<?php foreach($row["Progess_Evaluation"] as $sub_row) : ?>
<div> <?= $sub_row ?> </div>
<?php endforeach; ?>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<?= $value ?>
标签是编写<?php echo $value; ?>
的简便方法。
您当然可以使用嵌入了HTML标记的字符串,但这会很快变得一团糟,尤其是当涉及许多嵌套标签时。
正如@aleck所说,您需要rowspan
属性。不幸的是,这在您的情况下应用有点复杂,因为这意味着每个“表观”行都需要三 <tr>…</tr>
行。
如果您习惯使用Excel之类的电子表格应用程序,那么将rowspan
视为将列的下一个单元格合并到第一个单元格中将会很有帮助。
插图可能有助于您直观地了解rowspan
的工作原理:
A B A B
+------+------+ +------+------+
1 | 1A | 1B | | | 1B |
+------+------+ 1 | 1A +------+
2 | 2A | 2B | | | 2B |
+------+------+ +------+------+
3 | 3A | 3B | 3 | 3A | 3B |
+------+------+ +------+------+
No rowspan 1A rowspan = 2
A B
+------+------+
| | 1B |
| +------+
1 | 1A | 2B |
| +------+
| | 3B |
+------+------+
1A rowspan = 3
按照Excel的类比,您需要为每个细分插入额外的行。
使用块标记(如我在第一个示例中使用的<div>…</div>
行)设置最后一列的格式可能更容易,然后使用CSS将其混合到表中以显得无缝。
答案 2 :(得分:0)
我认为这是您所需要的:
import pandas as pd
from datetime import date, timedelta
def next_day(begin, end):
"""Generator that returns the date and date's weekday name"""
while begin < end:
# If you need the first day
# uncomment the next line and comment the next yield one
# yield begin, begin.strftime('%A')
begin += timedelta(days=1)
yield begin, begin.strftime('%A')
begin = date(2018, 1, 1)
end = date(2019, 1, 10)
df = pd.DataFrame(next_day(begin, end), columns=['date', 'day name'])
print(df)
date day name
0 2018-01-02 Tuesday
1 2018-01-03 Wednesday
2 2018-01-04 Thursday
3 2018-01-05 Friday
4 2018-01-06 Saturday
5 2018-01-07 Sunday
6 2018-01-08 Monday
7 2018-01-09 Tuesday
8 2018-01-10 Wednesday
9 2018-01-11 Thursday
10 2018-01-12 Friday
...
368 2019-01-05 Saturday
369 2019-01-06 Sunday
370 2019-01-07 Monday
371 2019-01-08 Tuesday
372 2019-01-09 Wednesday
373 2019-01-10 Thursday
,并且th, td {
text-align: center;
border: 1px solid black;
}
号将是进行评估的行号