我有2个表,其中一个表具有无限的名称和ID列表。
第一个是名称及其ID列表。
NameID ~ Name
1 Bob
2 Jon
3 Peter
4 Simon
我拥有的第二个表是链接表中的ID列表,因此我可以将名称属于House的名称关联起来。
NameID ~ HouseID
1 1
2 2
3 3
4 4
我在while循环中输出Names作为复选框,并将它们插入到我的数据库中,而没有foreach循环的问题。
我面临的问题是互相检查名称和房屋。如果房屋中存在ID,我想检查复选框。即如果有一个简单的变量。
if ($intNameID = $xxx) { $checked = 'checked="checked"'; } else { $checked = ''; }
我面临的问题是理解我如何处理这两个表,其中Names当前处于while循环中。我已经尝试用sql语句选择我的Houses ID了,但是我怎么能检查我的链接表中添加了哪些ID ....
对语义或示例代码的任何帮助表示赞赏。
答案 0 :(得分:0)
这是你的代码重写,以便它可以工作,有一些更明智的变量名称,并删除了一些不必要的变量:
<?php
$query1 = "SELECT projectTemplateID, projectID
FROM projectTempList
WHERE projectID = '$intProjectID'";
$result1 = mysql_query($query1);
$arrProjectTemplateIDCheck = array();
while ($row = mysql_fetch_assoc($result1)) {
$arrProjectTemplateIDCheck[] = $row['projectTemplateID'];
}
$query2 = "SELECT projectTempID, projectTempName
FROM projectTemplates";
$result2 = mysql_query($query2);
while ($row = mysql_fetch_assoc($result)){
$checked = (in_array($row['projectTempID'],$arrProjectTemplateIDCheck)) ? ' checked="checked"' : '';
echo '<input type="checkbox" name="recharge_costs[]" value="'.$row['projectTempID'].'"'.$checked.' /> '.$row['projectTempName']." <br />\n";
}