2013-08-29 126 views
0

我想代碼一個自動選擇所選用戶的PHP腳本(複選框) 我不知道我錯過了什麼,也許你們可以幫忙。我想做的是:php mysql使複選框檢查

$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,則返回雙倍結果。也許我錯過了一些東西? :)

+0

你錯過了發佈您的代碼,該代碼與上面的代碼的其餘部分。 – Prix

+0

請提供您的sql語句以選擇checkedusers。 –

+0

感謝您的通知 - 我已編輯主題:) – simon

回答

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 } ?> 
+0

我已經改變了我原來的一些帖子。請檢查你是否有時間:) – simon

+0

這應該工作,沒有選擇的變量在循環中聲明 – Bhadra

+0

完美工作。謝謝你的幫助,我一定會檢查in_array :) – simon

0

如果條件是錯誤的。我希望它應該喜歡這個

if ($users['user_id'] == $chosencategories) {}