Mise à jour de la Case de Valeur à l'Aide de PHP & MySQL

table :

role_id   role_name              perm_id
  1         admin                  0
  2         Manager                0
  7         Accounts Assitant      4,6
  8         Registrar              2,5,6

Iam stocker toutes ces informations à partir d'un Formulaire PHP

<form action="" method="post">               
   <table>
    <tr><th>ROLE</th>
        <th>PERMISSIONS<br><input type="checkbox" class="chk_boxes"></th>  
    </tr>
    <tr>
      <td><input type="text" name="role_name" required></td>      
      <td><input type="checkbox" class="chk_boxes1" name="perm[]" value="1">My Account<br>
          <input type="checkbox" class="chk_boxes1" name="perm[]" value="2">Edit Account<br>
          <input type="checkbox" class="chk_boxes1" name="perm[]" value="3">Change password<br>
          <input type="checkbox" class="chk_boxes1" name="perm[]" value="4">List of users<br>
          <input type="checkbox" class="chk_boxes1" name="perm[]" value="5">Define roles<br>
          <input type="checkbox" class="chk_boxes1" name="perm[]" value="6">Assign roles<br>
      </td>
    </tr></table>
    <div><input type="submit" name="submit" value="create role"></div>
  </form>

J'ai été réussi à soumettre les données de la base de données, j'ai eu des problèmes lors de l'extraction de la case à cocher valeurs de la base de données.
Maintenant, je veux modifier ce formulaire et afficher les cases à cocher(sélection de l'un et de désélectionné l'un de l') également.

<?php
    $query = $db->prepare("SELECT * FROM role WHERE role_id = ".$role_id." ");
    $query->execute();
    foreach($query as $q)
    {
      echo '<form action="" method="post">               
             <table>
              <tr><th>ROLE</th>
                  <th>PERMISSIONS<br><input type="checkbox" class="chk_boxes"></th>  
              </tr>
              <tr><td><input type="text" value="'.$q['role_name'].'" name="role_name" required></td>
                  <td>';
                      $permid_array = $q['perm_id'];                                          
                      foreach(explode(',', $permid_array) as $n)
                      {
                        if ($n == 1 || $n == 2 || $n == 3 || $n == 4 || $n == 5 || || $n == 6) { $set_checked = "checked";}
                        else {$set_checked = ""; }

                        echo '
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="1" '.$set_checked.' > My Account<br> 
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="2" '.$set_checked.' > Edit Account<br>
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="3" '.$set_checked.' > Change Password<br>
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="4" '.$set_checked.' > List of users<br>
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="5" '.$set_checked.' > Define roles<br>
                        <input type="checkbox" class="chk_boxes1" name="perm[]" value="6" '.$set_checked.' > Assign roles<br>';
                      }
                   echo '</td></tr>
             </table>
             <div><input type="submit" name="submit" value="create role"></div>
            </form>';
    }
  ?>

Quand j'execute le formulaire d'édition, les checkboxs se sont répétées. Suggérez-moi où je suis allé mal ou me guider d'autres façon de faire.

Merci Beaucoup

InformationsquelleAutor ronquiq | 2014-08-11