Php 动态构建两者<;th>';s<;tr>';s
表中的列数取决于表中的数据量。表中的行数基于不同表中的行数。下面是这些表格的一个示例Php 动态构建两者<;th>';s<;tr>';s,php,mysql,loops,while-loop,Php,Mysql,Loops,While Loop,表中的列数取决于表中的数据量。表中的行数基于不同表中的行数。下面是这些表格的一个示例 environments patches id | name id | name ____|______ ____|____________ 1 | dev 1 | firstPatch 2 | test 2 | secondPatch 3 | prod 3 | t
environments patches
id | name id | name
____|______ ____|____________
1 | dev 1 | firstPatch
2 | test 2 | secondPatch
3 | prod 3 | thirdPatch
我所寻找的最终结果将是以下
我知道如何使用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>";
}
echo”“;
而($env=$listEnvs->fetch_assoc()){
回显“$env['name']”
}
回声“;
--及--
而($patch=$listPatches->fetch_assoc()){
回显“$patch['name']”;
}
我正在努力解决的是,每个补丁/环境对的单元都将包含从其他几个表中提取的数据。因此,了解
patch.id
以及环境.id
非常重要。示例带有x
的单元格是patch.id=2,environment.id=1
在构造表时,如何确保每个单元格都有这些必要的信息?尝试创建一个类似$content[$patch.id][$environment.id]
的数组
然后您可以在$patch
的中添加echo($content[$patch.id][$environment.id])
。您将遍历这些修补程序,因此$patch.id
是已知的。对于$environment.id
,您应该使用所有environment.id创建一个数组,并使用$environment.id[i]
遍历它,其中$i
应该随着每个新列的增加而增加(当新行开始时设置为0)
在(错误)伪代码中:
walkthrough environments {
save array with environments
echo table headers
}
walk through patches {
echo table 'row headers'
walk through environment array {
echo content[patch.id][environment.id]
}
}
你能指定桌子的外观吗?另外,您可能需要使用join将SQL行组合到一个表中,该表可以是html表的数据?我不确定这意味着什么。我的mysql知识相当有限。基本的CRUD
stuffCheck SQL连接可能会对您有所帮助。要构建笛卡尔积表,您可以选择第一个表值(列),然后为每个表值从其他值构建行。我希望您理解我的意思,这有点难以描述;-)
walkthrough environments {
save array with environments
echo table headers
}
walk through patches {
echo table 'row headers'
walk through environment array {
echo content[patch.id][environment.id]
}
}