我有一个来自我的模型的结果集,在我的数据库中我有患者数据,每个患者可以有一个或多个结果,我想做的是如果引脚匹配,合并我的结果表中的第一列,例如,如果我有一个患者进行了3次测试,它目前看起来是这样的:
PIN | Name | test ... etc
1 | Alan | HIV ....
1 | Alan | Chlamydia ...
1 | Alan | Vit D ...我希望它看起来是这样的:
PIN | Name | test ... etc
| Alan | HIV ....
1 | Alan | Chlamydia ...
| Alan | Vit D ...我已经得到了在控制器中分离引脚的代码:
foreach ($results as $result){
if ($result['pin'] === $last_pin){
$result['pin'] = null;
} else {
$last_pin = $result['pin'];
}
}这在我的视图中给出了所需的输出,例如:用1, 2, 3, 4代替1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, etc
但是我如何让我的桌子变得“漂亮”呢?我应该使用colspan还是rowspan?我从来没有用过它们,也不能解决这个问题!
发布于 2017-12-22 12:06:50
rowspan属性允许您将表格单元格延伸到多行。伸展的单元格插入的行只需腾出空间,就好像伸展的单元格在HTML中定义在适当的位置一样。对于您的使用,这意味着患者的第一行比其他行多一个细胞。
table { border-collapse: collapse; }
td { border: 1px solid black; padding: 5px; }<table>
<thead>
<td>PIN</td>
<td>Name</td>
<td>Test</td>
</thead>
<tr>
<td rowspan="3">2101</td>
<td>Alice</td>
<td>The Mondays</td>
</tr>
<tr>
<td>Alice</td>
<td>Corrugated Ankles</td>
</tr>
<tr>
<td>Alice</td>
<td>Slack Tongue</td>
</tr>
<tr>
<td rowspan="2">4242</td>
<td>Bob</td>
<td>3rd Degree Sideburns</td>
</tr>
<tr>
<td>Bob</td>
<td>King Complex</td>
</tr>
</table>
您需要知道一个单元格将扩展到多少行。您可以在PIN分隔码中收集该信息:
foreach ($results as $result) {
if ($result['pin'] === $last_pin) {
$result['pin'] = null;
$top_row['rowspan'] += 1;
} else {
$last_pin = $result['pin'];
$top_row = $result;
$top_row['rowspan'] = 1;
}
}如果$result['pin']为null,则跳过为PIN码创建<td>元素,并将rowspan属性设置为您保存的值。
https://stackoverflow.com/questions/47929359
复制相似问题