2013-08-29 7 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 문을 사용하여 체크 된 사용자를 선택하십시오. –

+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) {}