复选框mysql / php输出。如何检查2个表之间的ID?

时间:2011-11-14 12:33:01

标签: php mysql

我有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 ....

对语义或示例代码的任何帮助表示赞赏。

1 个答案:

答案 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";
  }