IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Créer des cases à cocher dynamiques


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Par défaut Créer des cases à cocher dynamiques
    bonjour à tous

    J'aimerais générer une liste de checkbox à partir de ma base de donnée.
    J'ai une table infos(test1,test2,test3......) qui ont les valeurs(-1,0,1).
    J'aimerais donc :
    1- Générer mes checkboxs à partir de cette table
    2- pouvoir les cocher par defaut si la valeur du champs est 1, les decocher pour 0 et les prendre inaccessible pour une valeur -1.

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Quelle difficulté rencontres-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Par défaut Créer des cases à cocher dynamiques
    Mon problème est de pouvoir créer les checkbox dynamiquement par rapport aux champs de la base de donnée et de les cocher suivant la valeur de leur champs correspondant dans la table . Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Oui ca j'avais bien compris
    Mais quelle partie n'arrives-tu pas a realiser ?
    1 - Requete sur la base
    2 - Lecture des resultats
    3 - Ecriture des checkbox HTML
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Par défaut Créer des cases à cocher dynamiques
    Mon probleme est plus

    2 - Lecture des resultats
    3 - Ecriture des checkbox HTML

    puisque j'arrive bien à recupérer le resultat de ma requête. Que faire avec ces resultats? c'est là mon problème.

    Merci

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ah lala il faut tout faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ($row = mysql_fetch_assoc($result)) {
    switch ($valeur_du_champ) {
       case 0 : $attribut = '';
       case 1  : $attribut = 'checked="checked"'; break;
       case -1 : $attribut = 'disabled';
    }
    echo '<input type="checkbox" ' . $attribut . ' />';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 817
    Billets dans le blog
    14
    Par défaut
    Le principe :
    - Récupérer dans la base la liste des valeurs des cases à cocher
    - Les ranger dans un tableau
    - Pour chaque élément du tableau
    * Commencer la balise de déclaration de la case à cocher
    * Selon la valeur, affecter la valeur du paramètre 'checked'
    * Fermer la balise de déclaration de la case à cocher
    - fin pour

    Exemple de code (soyez indulgents sur la conformité XHTML, c'est un code qui date un peu et fait par un autodidacte en informatique ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    reset( $calcuinter );
    while( list( $cle2, $valeur2 ) = each( $calcuinter ) )
    {
        if( $valeur2 == '' )  continue;
     
                        echo '<tr>';
                            echo '<td>';
                                echo "<input type='checkbox' name='libindchoix[" . $cle2 . "]' ";
     
        if( $libnom_int[$cle2] != '' ) echo ' checked '; 
     
                                echo " />$cle2";
                            echo '</td>';
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre averti Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Par défaut enregistrer les modifications Case à cocher dans MySQL
    bonjour à tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    foreach ($data as $row){
     
    		$indic_perso  = $row[1];
    		$cpt_me_acces  = $row[2];
    		$cpt_gestion_acces  = $row[3];
    		$cpt_demande_creat = $row[4];
    		$cpt_gestion_action  = $row[5];
    		$met_acces  = $row[6];
    		$met_redacteur  = $row [7];
    		$met_approbateur  = $row[8];
    		$met_supprimer   = $row[9];
    		$col_acces   = $row[10];
    		$per_acces   = $row [11];
    		$droit_acces    = $row[12];
    		$liste_dif_acces    = $row[13];
    		$mail_acces   = $row [14];
    }
     
     
     
     
     
    //////////////////////////// test2///////////////////////////////
      switch ($indic_perso) { //1
       case 0 : $attribut1 = ''; break;
       case 1  : $attribut1 = 'checked="checked"'; break;
       case -1 : $attribut1 = 'disabled';break;
    }
     
    switch ($cpt_me_acces) { //2
       case 0 : $attribut2 = ''; break;
       case 1  : $attribut2 = 'checked="checked"'; break;
       case -1 : $attribut2 = 'disabled';break;
    }
     
    switch ($cpt_gestion_acces) { //3
       case 0 : $attribut3 = ''; break;
       case 1  : $attribut3 = 'checked="checked"'; break;
       case -1 : $attribut3 = 'disabled';break;
    }
     
      switch ($cpt_demande_creat) { //4
       case 0 : $attribut4 = ''; break;
       case 1  : $attribut4 = 'checked="checked"'; break;
       case -1 : $attribut4 = 'disabled';break;
    }
     
    switch ($cpt_gestion_action) { //5
       case 0 : $attribut5 = ''; break;
       case 1  : $attribut5 = 'checked="checked"'; break;
       case -1 : $attribut5 = 'disabled';break;
    }
     
     
    switch ($met_acces) { //6
       case 0 : $attribut6 = ''; break;
       case 1  : $attribut6 = 'checked="checked"'; break;
       case -1 : $attribut6 = 'disabled';break;
    }
     
     
     
      switch ($met_redacteur) { //7
       case 0 : $attribut7 = ''; break;
       case 1  : $attribut7 = 'checked="checked"'; break;
       case -1 : $attribut7 = 'disabled';break;
    }
     
     
    switch ($met_approbateur) { //8
       case 0 : $attribut8 = ''; break;
       case 1  : $attribut8 = 'checked="checked"'; break;
       case -1 : $attribut8 = 'disabled';break;
    }
     
     
    switch ($met_supprimer) { //9
       case 0 : $attribut9 = ''; break;
       case 1  : $attribut9 = 'checked="checked"'; break;
       case -1 : $attribut9 = 'disabled';break;
    }
     
      switch ($col_acces) { //10
       case 0 : $attribut10 = ''; break;
       case 1  : $attribut10 = 'checked="checked"'; break;
       case -1 : $attribut10 = 'disabled';break;
    }
     
     
    switch ($per_acces) { //11
       case 0 : $attribut11 = ''; break;
       case 1  : $attribut11 = 'checked="checked"'; break;
       case -1 : $attribut11 = 'disabled';break;
    }
     
     
    switch ($droit_acces) { //12
       case 0 : $attribut12 = ''; break;
       case 1  : $attribut12 = 'checked="checked"'; break;
       case -1 : $attribut12 = 'disabled';break;
    }
     
     
      switch ($liste_dif_acces) { //13
       case 0 : $attribut13 = ''; break;
       case 1  : $attribut13 = 'checked="checked"'; break;
       case -1 : $attribut13 = 'disabled';break;
    }
     
    switch ($mail_acces) { //14
       case 0 : $attribut14 = ''; break;
       case 1  : $attribut14 = 'checked="checked"'; break;
       case -1 : $attribut14 = 'disabled';break;
    }
     
    je recupère l'etat de mes checkbox qui sont ma base et j'affiche le tout comme ceci:
     
    <tr><input type='checkbox' name='indic_perso' value=. $attribut1. />Indicateurs personnalisés</tr>
    				  <tr><input type='checkbox' name='cpt_me_acces' value=. $attribut2 .  />Admin : Son Compte </tr>
    				  <tr><input type='checkbox' name='cpt_gestion_acces' value=. $attribut3 .  />Module gestion des comptes : accès </tr>
    				  <tr><input type='checkbox' name='cpt_demande_creat' value=. $attribut4 .  />Module gestion des comptes : demande de compte</tr>
    				  <tr><input type='checkbox' name='cpt_gestion_action' value=. $attribut5 .  />Module gestion des comptes : administration</tr>
    				  <tr><input type='checkbox' name='met_acces' value=. $attribut6 . />Admin méthode : accès</tr>
    				  <tr><input type='checkbox' name='met_redacteur' value=. $attribut7 .  />Admin méthode : Rédiger nouveau</tr>
    				  <tr><input type='checkbox' name='met_approbateur' value=. $attribut8 .  />Admin méthode : Modifier ou publier</tr>
    			      <tr><input type='checkbox' name='met_supprimer' value=. $attribut9 .  />Admin méthode : Supprimer une tâche publiée... Attention!</tr>
    				  <tr><input type='checkbox' name='col_acces'value=. $attribut10.  />Admin données</tr>
    				  <tr><input type='checkbox' name='per_acces' value=. $attribut11 . />Admin périmètres</tr>
    				  <tr><input type='checkbox' name='droit_acces' value=. $attribut12. />Admin droits</>
    				  <tr><input type='checkbox' name='liste_dif_acces' value=. $attribut13.  />Admin listes de diffusions</tr>
    				  <tr><input type='checkbox' name='mail_acces' value=. $attribut14 . /> Admin mail </tr>
    J'aimerias savoir comment faire la mise à jour de ma table en question après les modifications des checkboxs

  9. #9
    Membre averti Avatar de Vetchostar
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Par défaut mise à jour base table
    bonjour à tous

    je fais un update de la table de la manière suivante:
    j'ai une procédure stockée que j'appelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $request = "UPDATE emethode_droit SET indic_perso= $indic_perso ,cpt_me_acces  = $cpt_me_acces,
    				cpt_gestion_acces =$cpt_gestion_acces,cpt_demande_creat= $cpt_demande_creat,
    				cpt_gestion_action = $cpt_gestion_action,met_acces = $met_acces,
                                    met_redacteur= _$met_redacteur,met_approbateur=$met_approbateur,
                                    met_supprimer=$met_supprimer,col_acces=$col_acces,
                                    per_acces= $per_acces,droit_acces=$droit_acces,
                                    liste_dif_acces= $liste_dif_acces,mail_acces=$mail_acces  WHERE user=params;"

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2015, 14h44
  2. Créer des cases à cocher
    Par Panama dans le forum Langage
    Réponses: 1
    Dernier message: 29/01/2007, 22h39
  3. calcul sur des cases à cocher
    Par karidrou dans le forum Access
    Réponses: 3
    Dernier message: 06/12/2005, 11h40
  4. Réponses: 5
    Dernier message: 25/11/2004, 09h11
  5. Créer des alias BDE dynamiquement
    Par alex4 dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/05/2004, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo