如何使用HTML在表的列中添加多行?

时间:2019-01-08 03:51:55

标签: html css

希望您有美好的一天。该表将包含学生列表。我为该表创建了一个名为“进度评估”的列。在针对特定学生的进度评估专栏中,其中会有几个链接,这就是为什么我想知道如何在特定专栏中添加多行的原因。我认为到那时插入链接可能会更容易。

这是我创建的表。它连接到数据库。我已经尝试过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行。谢谢您的宝贵时间。

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)

假设我对您的理解正确,那么您有两个不同的问题之一:

1。遍历PHP数组以输出重复的嵌套HTML:

使用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标记的字符串,但这会很快变得一团糟,尤其是当涉及许多嵌套标签时。

2。将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; }号将是进行评估的行号