0

我正在尝试编写一个自动选择选定用户(复选框)的 php 脚本,我不知道我错过了什么,也许你们可以帮忙。我正在尝试的是:

$get_users = $mysqli->query("SELECT * FROM users WHERE user_type='5' AND user_id_parent='". get_uid() ."'");

$get_checkedusers = $mysqli->query("SELECT * FROM modules_users_availability WHERE module_id='". $mid ."' AND shopid='". get_uid() ."'
");

while ($row = $getcheckedusers->fetch_assoc()) {
     $chosenCategory[] = $row['userid'];                    
}

while($users = $getusers->fetch_assoc()){
     foreach($chosenCategory as $chosencategories){
          if($users['user_id'] == $chosenCategory){
               echo $checked = "checked";                       
          }                 
     }?>

<tr>
            <td><input type="checkbox" <?php echo $selected; ?> name="access[]" value="<?php echo $users['user_id']; ?>" /></td>
            <td><?php echo $users['name']; ?></td>
            <td><?php echo $users['email']; ?></td>
        </tr>
        <?php } ?>

我的问题是我无法在 getusers 中正确使用 getcheckedusers 数组。如果有 3 个用户,它会返回三倍的结果,如果这里是 2,它会返回双倍的结果。也许我错过了什么?:)

4

2 回答 2

1
while($users = $getusers->fetch_assoc()){
     $checked="";
      if(in_array($users['user_id'],$chosenCategory)){
           $checked = "checked";                       

     }?>

<tr>
        <td><input type="checkbox" <?php echo $checked; ?> name="access[]" value="<?php echo $users['user_id']; ?>" /></td>
        <td><?php echo $users['name']; ?></td>
        <td><?php echo $users['email']; ?></td>
    </tr>
    <?php } ?>
于 2013-08-29T09:51:48.997 回答
0

如果条件错误..我希望它应该像这样

if ($users['user_id'] == $chosencategories) {}
于 2013-08-29T09:59:20.963 回答