Checkbox et barre deroulante pré-selectionné

axeldeux Messages postés 43 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
j'ai un script qui sert a modifier une ligne et je voudrais que quand je veut modifier une ligne il y est déjà les informations de ma ligne avant la modification qui soit déjà coché par exemple j'ai des serveurs et il faut définir leur roles alors si un serveur est un serveur dns je veut que si je clic sur modifié, que la case dns soit coché j'avais ceci pour les champ text mais vue que la c'est des case ou des barres déroulante, cela ne marche plus.. ce sont des case "checkbox" et des barre déroulante "select"

placeholder="<?php echo($roles) ;


pouvez-vous me dire comment cela s'appelle pour que je face des recherches de mon coté aussi

5 réponses

  1. hharchi9 Messages postés 693 Statut Membre 24
     
    Bonjour,

    Il semble que vous cherchiez l'attribut 'select' que vous pouvez utiliser sur les listes dérulantes et checkbox.

    Exemple:

     <option class="vide" value="vide" selected disabled>Sélectionnez le motif</option>
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour Hharchi .. il parle de CHECKBOX .. pas de listes déroulantes.
    L'attribut nécéssaire c'est checked

    par exemple :
    <?php
     $checked = $roles =="CPD" ? " checked='checked' " : '';
    ?>
    <br>CPD<input type="checkbox" value="CPD" name="roles[]" <?php echo $checked;?>>
    
    

    0
    1. axeldeux Messages postés 43 Statut Membre
       
      si j'en est aussi besoin pour la barre déroulante..

      du coup j'ai eu des petit changement jordan45 tu avais raison que s'étais mieux de faire une tables roles du coup je l'est fais

      et sa donne ceci mais comment j'incrémente ton code dans le mien ?

      <tr align="left">
      <td><b>Systeme:</b>
      <select name="systeme" action="" style="width:230px">
      <?php
      $sql = "select * from systeme";
      $rep = mysql_query("$sql") ;
      while($data = mysql_fetch_assoc($rep))
      {
      echo '<option value="'.$data['systeme'].'">'.$data['systeme'].'</option>';
      }
      ?></td>
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > axeldeux Messages postés 43 Statut Membre
         
        Il faut que tu fasses également une requête sur ta tables roles pour récupérer les rôles actifs pour le serveur que tu affiches
        0
  3. axeldeux Messages postés 43 Statut Membre
     
    je peux les affichés dans le fichiers ou je voit tous mes serveurs mais pas dans ma barre déroulante quand je veut modifié ma ligne (barre déroulante ou checkbox) je voudrais vous le montrer en image mais sa marche pas (Request error)..
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Avec des bouts de code on n'avance pas...
      Postes nous le code COMPLET de ta page. (et pour l'instant ...UNIQUEMENT la page contenant tes checkboxe ..listes ..)
      0
  4. axeldeux Messages postés 43 Statut Membre
     
    <html>
    <style type="text/css" media="screen">@import "style.css";</style>
    <body class="bloc-fixe">
    <!--  menus -->
    
    <div id="menu">
      <ul id="onglets">
        <li><a href="index.php"> Retour </a></li>
        <li><a href="client.php?artis=<?php echo $artis; ?>"> client </a></li>
        <li><a href="schemas.php?artis=<?php echo $artis; ?>"> Schémas - adressage </a></li>
        <li><a href="domaine.php?artis=<?php echo $artis; ?>"> Domaine- mdp </a></li>
        <li a class="active"><a href="serveurs.php?artis=<?php echo $artis; ?>"> Serveurs </a></li>
        <li><a href="sauvegardes.php?artis=<?php echo $artis; ?>"> Sauvegardes </a></li>
        <li><a href="wan.php?artis=<?php echo $artis; ?>"> WAN </a></li>
      </ul>
    </div>
    <?php
    # recup variable :
      $artis=$_GET["artis"];
      $systeme   = $_GET["systeme"] ;
      $id=$_GET["id"];
    
      //connection au serveur
      $cnx = mysql_connect( "localhost", "****", "****" ) ;
    
      //sélection de la base de données:
      $db  = mysql_select_db( "***" ) ;
    ini_set('display_errors', '1');
    
    
    
      $sql  = "SELECT * FROM serveurs 
        WHERE id = ".$id ;
    
      $requete = mysql_query( $sql, $cnx ) ;
    
      while($result = mysql_fetch_array($requete))
    {
      $id           = $result['id'];
      $artis        = $result['parent'];
      $nom          = $result['nom'];
      $systeme      = $result['systeme'];
      $adresseip    = $result['adresseip'];
      $ipsaas       = $result['ipsaas'];
      $physique     = $result['physique'];
      $roles        = $result['roles'];
      $commentaires = $result['commentaires'];
    }
    ?>
    <form name="insertion" action="modification3.php?id=<?php echo $id; ?>" method="POST">
      <input type="hidden" name="nom" value="<?php echo($nom) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
        <input type="hidden" name="parent" value="<?php echo($artis) ;?>">
      <input type="hidden" name="id" value="<?php echo($id) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
      <tr align="left">
          <td><b>nom:</b>
          <input type="text" name="nom" placeholder="<?php echo($nom) ;?>"value="<?php echo($nom) ;?>"></td>
        </tr>
    
    <tr align="left">
          <td><b>Systeme:</b>
    <select name="systeme" action="" style="width:230px"> 
    <?php 
    $sql = "select * from systeme"; 
    $rep = mysql_query("$sql") ; 
    while($data = mysql_fetch_assoc($rep)) 
    { 
    echo '<option value="'.$data['systeme'].'">'.$data['systeme'].'<?php echo $checked;?></option>'; 
    }
    ?></td>
        </tr>
        <tr align="left">
          <td><b>Adresse IP:</b>
          <input type="text" name="adresseip" placeholder="<?php echo($adresseip) ;?>"value="<?php echo($adresseip) ;?>"></td>
        </tr>
     <tr align="left">
          <td><b>Ipsaas:</b>
          <input type="text" name="ipsaas" placeholder="<?php echo($ipsaas) ;?>"value="<?php echo($ipsaas) ;?>"></td>
        </tr>
        <tr align="left">
          <td><b>Physique/Virtuel:</b>
              <select name="physique" onchange="physique">
            <option value="Physique">Physique</option>
            <option value="Virtuel">Virtuel</option>
              </select></td>
    <tr align="left">
          <td><b>Roles:</b>
    <?php 
    $sql = "select * from roles"; 
    $rep = mysql_query("$sql") ; 
    while($data = mysql_fetch_assoc($rep)) 
    { 
    echo '
    <input type="checkbox" value="'.$data['roles'].'" name="roles[]">
    <option value="'.$data['roles'].'">'.$data['roles'].'</option>'; 
    }
    ?></td>
        </tr>
    <?php
    $checkboxes = isset($_POST['roles']) ? $_POST['roles'] : array();
    foreach($checkboxes as $value) {
    }
    
    ?>
        <tr align="left">
          <td><b>commentaires:</b>
          <input type="text" name="commentaires" placeholder="<?php echo($commentaires) ;?>"value="<?php echo($commentaires) ;?>"></td>
        </tr>
        <tr align="left">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
    
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Ta table roles ... ce n'est pas ce que je t'ai conseillé je pense...
      La tu y a mis les ROLES ....TOUS les roles ... mais ... ce n'est pas la table dans laquelle tu insères les "relation" entre tes serveurs ...et les rôles ... si ?

      Pourrais tu nous montrer la structure de tes tables ?
      0
    2. axeldeux Messages postés 43 Statut Membre
       
      non sa me sert juste pour alimenter les checkboxes et barre deroulante..


      j'ai une table: serveurs:
      parent(identifiant du client)
      nom du serveur
      systeme
      ip
      physique
      ipsaas
      roles
      commentaire

      j'ai deux autre tables une roles et une autre systeme ou il y a tous les roles disponible et tous les systeme..

      une tables clients..
      0
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Donc.. comme je te le suggérait ... il serait bien d'avoir également une table de relation entre les serveurs et les rôles. ( relation 1->N )
      et donc .. faire une table qui aurait la structure suivante :

      id
      id_serveur
      id_role


      Ensuite... lorsque tu ajoutes/modifie/supprime des rôles pour un serveur.... tu le fais via cette table.

      Et ta table serveurs n'aurait plus que les champs :

      parent(identifiant du client)
      nom du serveur
      systeme
      ip
      physique
      ipsaas
      commentaire
      0
    4. axeldeux Messages postés 43 Statut Membre
       
      je comprend se que tu veut dire mais si je fais cela je suis obliger de mettre tous les roles dans mon script si je comprend bien? car je ne peut faire via la tables car il y a plusieursclient donc plusieurs serveur qui on le meme roles donc il y aura des doublons si je fais via la tables..
      0
    5. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      NON.

      Tu as ta tables ROLES .. .qui te permet d'afficher la liste de tes ROLES.
      Une table SERVEURS qui stocke .. ben .. tes serveurs....

      ET une AUTRE TABLE .. qui fera la liaison entre les roles et les serveurs .... ce qui te permettra via (une seconde requete) de savoir quels rôles sont selectionnés pour Tel ou Tel serveur.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Dans le code qui te sert à mettre à jour les infos de ta table serveur.... tu ajoutes une fonction qui
    Supprime les rôles attachés à ce serveur
     $sql = " delete from tatablerolesserveur where id_serveur='$xx'"
    

    puis.. une qui ajoutes les rôles cochés
     $sql = "insert into tatablerolesserveur (id_serveur,id_role) values ";
     foreach($roles as $R){
       $sql.="('$xx','$R'),";
    }
    //execution de la requête
    
    


    Cordialement,
    Jordane
    0
    1. axeldeux Messages postés 43 Statut Membre
       
      d'accord et ensuite pour les affichés lors de la modification?
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      ben une requête du genre

      $sql = " SELECT * FROM tatablerolesserveur WHERE id_serveur='$xx'"
      
      0