PHP页面必须显示数据库表的内容。在另一个表中,我将使用相应的值来打印行并显示为孩子。
$result = pg_query($conn, "SELECT *,'SENT' as direction FROM table1 WHERE identification LIKE '%$identification%' AND expedition LIKE '$expedition' order by date DESC LIMIT '$limit' ");
在WHILE中,这将打印这种表:
while ($row = pg_fetch_row($result)) {
$sql2 = pg_query($conn, " SELECT quantity FROM expedition WHERE identification='$row[2]' ");
$row2 = pg_fetch_row($sql2);
$color="white";
if ($row2[0] == "-1") { $color="red";}
if ($row2[0] == "1") { $color="green";}
if ($row2[0] == "0") { $color="grey";}
echo "<tr bgcolor=\"$color\">
<td><button class=\"btn btn-info\" type=\"button\" data-toggle=\"collapse\" data-target=\"#$row[2]\">+</button></td>
<td>row[0]</td>
<td>row[1]</td>
<td>row[2]</td>
<td>row[3]</td>
<td>row[4]</td>
<td>...and more</td>
</tr>";
echo "<tr><td colspan=9><div style=\"background-color:$color\" id=\"$row[2]\" class=\"collapse\">$row2[0]</div></td></tr> ";
我正在使用bootstrap添加一个按钮,一旦点击,将打开一个内容为$sql2
的隐藏行。查询我将在</tr>
之后直接打印。
请注意第一个查询为row[]
,第二个查询为row2[]
。
问题:
如果第二个查询包含多于1个结果,并且在所有情况下识别都不是PK(因此可能会有更多),我无法为每一行打印其子项的颜色。
我需要扩展第二个查询以管理WHILE循环,以便通过标识提取其父的所有值。
如果,sql2包含-1或1或0,则必须相应地绘制父项及其本身。
显而易见的选择是在第一个WHILE的末尾移动SQL2,在这种情况下,我可以拥有包含我想要的所有记录的SQL2。 就像使用数组或FOR结构一样。
虽然移动代码的事实不允许我打印所有行,因为html已经写好了。
在这种情况下,我相信一旦写完这些值,我就需要Jquery来突出显示这些值。 我不知道Jquery的事情,我很感激任何建议或帮助。