【发布时间】:2017-11-15 05:25:33
【问题描述】:
我有两个 SQL 查询,一个查询一个 DB 表中的所有包,一个查询分配表并应输出与查询中的公司 ID 匹配的所有包 ID,例如:
$result = mysqli_query($conn,"SELECT * FROM pkgs");
$curPkgs = mysqli_query($conn,"SELECT pid FROM assignments where subdom = '".$curCompany."'");
然后它将包输出到 HTML 表中,我想要的是,如果此包 ID 存在于第二个查询中,以便在表中选中复选框。
我所拥有的是
$currow = mysqli_fetch_array($curPkgs);
while($row=mysqli_fetch_array($result))
{
$disLine = $row['id'];
if(in_array($disLine,$currow)){
$yas = "checked";
} else {
$yas = "not";
}
echo "<tr>";
if($yas = "checked"){
echo "<td align=\"center\" bgcolor=\"#FFFFFF\"><input name=\"checkbox\" type=\"checkbox\" value=\"".$row['id']."\" checked></td>";
} else {
echo "<td align=\"center\" bgcolor=\"#FFFFFF\"><input name=\"checkbox\" type=\"checkbox\" value=\"".$row['id']."\"></td>";
}
echo "<td bgcolor=\"#FFFFFF\">" . $row['pname'] . "</td>";
echo "<td bgcolor=\"#FFFFFF\">" . $row['version'] . "</td>";
echo "<td bgcolor=\"#FFFFFF\">" . $row['rdate'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
我得到的行为是所有包都按预期输出到表中,但我认为 $yas 变量保持“选中”状态,因为我得到的是每一行旁边的复选框,而不是仅一行。
【问题讨论】:
-
另外,如果我在我的 while 语句下为 $disLine 添加一个 var_dump 和一个为 $currow 的 var_dump 我得到: NULL array(1) { ["pid"]=> string(1) " 4" } NULL 数组(1) { ["pid"]=> 字符串(1) "4" } NULL 数组(1) { ["pid"]=> 字符串(1) "4" } NULL 数组(1) { ["pid"]=> 字符串(1) "4" }
-
查询(选择 pid form assignments...)应该从 assignments 表中返回一个值“4”。请原谅我的无知!
标签: php html mysql html-table