Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql表连接和复选框的重复区域_Php_Mysql_Join - Fatal编程技术网

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

Php mysql表连接和复选框的重复区域,php,mysql,join,Php,Mysql,Join,我有两个表需要连接,如果联系人id字段在列表中,则需要选中重复区域的html复选框 表1“联系人至类别”-id、联系人id和类别id 表二“类别”-类别id、类别、状态 我正在尝试为联系人创建一个更新页面,并显示表2中的所有类别,如果客户联系人id在表1中,则选中复选框。这样,编辑人员可以查看哪些类别已处于活动状态 下面是我尝试过的,但是如果他们的id列在表1中,我不知道如何选中复选框?我尝试了连接,但是没有一个变量来表示如果a=b,那么在复选框的重复区域中回显“checked” 谢谢 $qu

我有两个表需要连接,如果联系人id字段在列表中,则需要选中重复区域的html复选框

表1“联系人至类别”-id、联系人id和类别id

表二“类别”-类别id、类别、状态

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

下面是我尝试过的,但是如果他们的id列在表1中,我不知道如何选中复选框?我尝试了连接,但是没有一个变量来表示如果a=b,那么在复选框的重复区域中回显“checked”

谢谢

 $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》中看到了额外的空间,就像一个符咒!谢谢,我刚刚学到了一些新东西!