Php mysql表连接和复选框的重复区域
我有两个表需要连接,如果联系人id字段在列表中,则需要选中重复区域的html复选框 表1“联系人至类别”-id、联系人id和类别id 表二“类别”-类别id、类别、状态 我正在尝试为联系人创建一个更新页面,并显示表2中的所有类别,如果客户联系人id在表1中,则选中复选框。这样,编辑人员可以查看哪些类别已处于活动状态 下面是我尝试过的,但是如果他们的id列在表1中,我不知道如何选中复选框?我尝试了连接,但是没有一个变量来表示如果a=b,那么在复选框的重复区域中回显“checked” 谢谢Php mysql表连接和复选框的重复区域,php,mysql,join,Php,Mysql,Join,我有两个表需要连接,如果联系人id字段在列表中,则需要选中重复区域的html复选框 表1“联系人至类别”-id、联系人id和类别id 表二“类别”-类别id、类别、状态 我正在尝试为联系人创建一个更新页面,并显示表2中的所有类别,如果客户联系人id在表1中,则选中复选框。这样,编辑人员可以查看哪些类别已处于活动状态 下面是我尝试过的,但是如果他们的id列在表1中,我不知道如何选中复选框?我尝试了连接,但是没有一个变量来表示如果a=b,那么在复选框的重复区域中回显“checked” 谢谢 $qu
$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)); ?>
$query\u flags=“从类别a中选择a.category、a.status、a.category\u id左键将联系人连接到联系人上的类别\u到\u category.category\u id=a.category\u id和联系人\u到\u category.contact\u id=“$contactid”和a.status=1”;
您正在执行一个左联接
,当类别id不在第一个表中时,将出现空行,因此这就是您可以选中复选框的方式我已将第一个表中的一列contact\u添加到了\u category.category\u id作为第二个\u cat\u id
,以检查它是否存在
$query_flags = "SELECT a.category, a.status, a.category_id
,contact_to_category.category_id AS second_cat_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";
$row_flags=mysql_query($query_flags); i assume you have done this in your code
<?php do { ?>
<table width="327" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="20" align="right">
<?php if(!empty($row_flags['second_cat_id '])){ ?>
<input name="catlist[]" type="checkbox" checked="checked" id="catlist[]" value="<?php echo $row_flags['category_id']; ?>" />
<?php } else{?>
<input name="catlist[]" type="checkbox" id="catlist[]" value="<?php echo $row_flags['category_id']; ?>" />
<?php } ?>
<label for="catlist[]"></label></td>
<td width="226"><?php echo $row_flags['category']; ?></td>
</tr>
</table>
<?php } while ($row_flags = mysql_fetch_assoc($flags)); ?>
$query\u flags=“选择a.category、a.status、a.category\u id
,联系至类别。类别id作为类别a的第二个类别id
左键将联系人\u连接到\u类别上的联系人\u连接到\u类别。类别\u id=a.category\u id
和contact_to_category.contact_id=“$contactid”和a.status=1”;
$row\u flags=mysql\u查询($query\u flags);我假设您已经在代码中完成了这项工作
无论如何,然后使用While!!!为什么?首先得到结果并检查它。这太棒了!我一直在绞尽脑汁。。。起初不起作用,但在《第二个猫id》中看到了额外的空间,就像一个符咒!谢谢,我刚刚学到了一些新东西!