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 :

Récupération/Affichage de données checkbox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Gérant
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut Récupération/Affichage de données checkbox
    Bonjour à tous,

    J'ai un problème dont je ne trouve la solution ni sur Google, ni dans les divers documents sur Developpez.

    Info : J'ai un formulaire avec lequel j'insère/modifie de données en utilisant notamment des checkbox, le tout enregistré dans MySQL.

    Une table "equipment" avec pour contenu :
    id => variable => texte
    0 => 1 => equipement 1
    1 => 2 => equipement 2
    2 => 3 => equipement 3
    3 => 4 => equipement 4

    Une table "maison" avec pour contenu :
    id => utilisateur => equipement
    0 => machin => 1,3,4
    1 => truc => 2,4
    etc.

    On voit donc que machin utilise les équipements 1,3 et 4

    Pour la première insertion dans MySQL, je n'ai aucun problème.

    Lorsque je retourne sur le formulaire, j'aimerais que les checkbox qui correspondent aux choix 1,3,4 soient déjà cochées, hors rien ne se coche quelque soient les tests effectuées.

    Mon problème, je pense, est que je créé les checkbox dynamiquement, mais je ne peux pas faire autrement puisqu'il se peut que j'ajoute ou réduise le nombre d'équipements par la suite.

    L'idéal étant qu'après je puisse avoir du code réutilisable pour avoir un moteur de recherche qui me donnerait par exemple toutes les personnes utilisant l'équipement 4.

    Mais tant que je n'arrive pas à définir quelle case est cochée, je ne pourrais aller plus loin.

    Je vous mets le début de code (sans la fonction 'tables') :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $table = 't_equipment' ;
    $equipments  = tables ( "SELECT * FROM $table  ORDER BY texte" ) ;
    foreach ( $equipments as $key)
    {
     echo '<input type="checkbox" name="equipment[]" value="'.$key['variable'].'" />' . $key [ 'texte' ] . '<br />' ;
    }
    Et là je ne sais pas comment savoir quel équipement est utilisé par 'machin' !

    Si vous avez une idée, je suis preneur...

    @ bientôt et merci.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 503
    Par défaut
    Petite piste

    1) tu récupères l'équipement de machin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT equipement FROM maison WHERE utilisateur = 'machin' "
    2) tu fais un tableau du résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $equipement => explode(',', $rows['equipement'])
    3) tu vérifies si il existe dans la tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="checkbox" name="equipment[]" value="<?php $key['variable']?>"  <?php if (in_array('1',$equipement) echo "checked= checked" ?> /> <?php echo $key [ 'texte' ] ?>'<br />'

  3. #3
    Membre éclairé
    Homme Profil pro
    Gérant
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Merci ça fonctionne très bien !!!

    J'avais pourtant testé un explode du champ, mais je n'avais pas été assez loin.

    J'avais complètement oublié la fonction in_array, shame on me

    @ bientôt et merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération et affichage de données AJAX
    Par Jennifer90 dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 19/06/2013, 16h05
  2. Réponses: 0
    Dernier message: 07/04/2013, 19h02
  3. Problème de récupération et affichage des données
    Par franco9 dans le forum Struts 1
    Réponses: 0
    Dernier message: 17/08/2012, 13h32
  4. Réponses: 11
    Dernier message: 26/12/2009, 17h29
  5. pb récupération données checkbox
    Par maysa dans le forum Langage
    Réponses: 3
    Dernier message: 06/12/2006, 12h02

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