表中的列数基于表中的数据量。表中的行数基于不同表中的行数。这些表的一个例子如下
environments patches
id | name id | name
____|______ ____|____________
1 | dev 1 | firstPatch
2 | test 2 | secondPatch
3 | prod 3 | thirdPatch
我正在寻找的最终结果将是以下<table>
_________________________________
| Patch Name | dev | test | prod |
|_____________|_____|______|______|
| thirdPatch | | | |
| secondPatch | x | | |
|_firstPatch__|_____|______|______|
我理解如何使用while()
循环来构建表头。我理解如何使用while()
来构建行。
echo "<tr>";
while ($env = $listEnvs->fetch_assoc()){
echo "<th>".$env['name']."</th>"
}
echo "</tr>";
--AND--
while ($patch = $listPatches->fetch_assoc()){
echo "<tr><td>".$patch['name']."</td></tr>";
}
我正在努力的是每个补丁/环境对的单元格将具有从其他几个表中提取的数据。因此,了解patch.id
以及environment.id
非常重要。示例x
的单元格为patch.id = 2, environment.id = 1
构建表格时,如何确保每个单元格都包含此必要信息?
答案 0 :(得分:1)
尝试创建像$content[$patch.id][$environment.id]
这样的数组。
然后,您可以将echo($content[$patch.id][$environment.id])
添加到while
的{{1}}。您可以浏览补丁,因此$patch
已知。对于$patch.id
,您应该创建一个包含所有environment.id的数组,并使用$environment.id
遍历它,其中$environment.id[i]
应该随每个新列增加(并在新行时设置为0)开始了。)
(坏)伪代码:
$i