mysql表连接和重复区域的复选框

时间:2013-07-19 20:52:00

标签: php mysql join

我需要加入两个表,如果contact_id字段在列表中,则需要检查重复区域的html复选框。

  

表1“contact_to_category” - id,contact_id和category_id

     

表二“类别” - category_id,类别,状态

我正在尝试为联系人创建更新页面并显示表2中的所有类别,如果客户端contact_id在表1中,则选中该复选框。通过这种方式,编辑人员可以查看哪些类别已经处于活动状态。

以下是我尝试但无法弄清楚如果他们的ID列在表一中,如何检查复选框?我已尝试过连接,但没有变量来说明a = b然后在复选框的重复区域中回显“已检查”。

谢谢!

 $query_flags = "SELECT a.category, a.status, a.category_id FROM category a LEFT JOIN contact_to_category ON contact_to_category.category_id = a.category_id  AND contact_to_category.contact_id = '$contactid'  AND a.status = 1";

        <?php do { ?>
          <table width="327" border="0" cellspacing="0" cellpadding="1">
            <tr>
              <td width="20" align="right"><input name="catlist[]" type="checkbox" id="catlist[]" value="<?php echo $row_flags['category_id']; ?>" />
              <label for="catlist[]"></label></td>
              <td width="226"><?php echo $row_flags['category']; ?></td>
            </tr>
          </table>
          <?php } while ($row_flags = mysql_fetch_assoc($flags)); ?>

1 个答案:

答案 0 :(得分:0)

您正在执行LEFT JOIN,当category_id不在第一个表中时,将显示空行,因此您可以选中复选框,我已在第一个表{{1}中添加了一列检查它是否存在

contact_to_category.category_id AS second_cat_id