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

Langage PHP Discussion :

[Tableaux] pb avec in_array et liste deroulante


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Par défaut [Tableaux] pb avec in_array et liste deroulante
    Salut,

    J'ai un soucis pour recuperer des valeurs dans un liste deroulante, j'ai dans un base de donnée les valeurs de la liste sous forme de tableau

    a sa voir que si je fais echo $data[0] j'ai "Info,Voyages,Loisirs" etc

    Je voudrais recuperer et mettre en position selected ces valeurs dans une liste deroulante si elle sont presente dans la liste biensur. autre chose a savoir je peux avoir dans le resultat de $data[0] des elements qui n'apparaissent pas dans la liste et je voudrais les rajouter dans la liste deroulante. Par ex dans mon tableau j'ai "Info,Voyages,Loisirs,Bijoux" et dans ma liste j'ai

    Info
    Voyages
    Loisirs
    Golf
    Voiture

    Je devrais avoir de selectionné Info Voyages Loisirs et bijoux ui devrais se rajouter a la liste

    Je pense avoir ete assez clair merci de votre aide.

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Quel est ton code actuel ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Par défaut
    Actuellement j'ai fait ceci

    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
     
    <select name="rubrique[]" size="5" multiple="multiple" id="rubrique[]">
    $liste = array ("Informatique","Voyages","Finance","Enfants","Electromenager");
    //je recupere la liste Array ( [0] => Informatique [1] => Voyages [2] => Finance ) 
    $champs = explode (",", $data[0]);
    $champs = trim($champs); 
    while ($row = mysql_fetch_array($liste) ) 
    { 
       if (in_array($row[0], $champs) ) 
       { 
          echo("<option value='$row[1]' selected>$row[1]</option>"); 
       } 
       else 
       { 
          echo("<option value='$row[1]'>$row[0]</option>"); 
       } 
    } 
    ?>
                        </select>
     
    //Je ne sais pas trop si je dois mettre $row[0] ou $row[1]
    Merci de ton aide

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    1. tu as vu que tu appelais une fonction dédiée à mysql sur un array ???
    2. trim n'accepte pas d'array en argument mais une string

    Je te propose donc :
    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
     
    <select name="rubrique[]" size="5" multiple="multiple" id="rubrique[]">
    <?php
     
    //La liste des rubriques
    $liste = array("Informatique","Voyages","Finance","Enfants","Electromenager");
    //je recupere la liste Array ( [0] => Informatique [1] => Voyages [2] => Finance ) 
    $champs = explode (",", $data[0]);
     
    //On parcourt la liste des rubriques
    foreach($liste as $rubrique) 
    { 
       //Est-ce que la rubrique courante fait partie des champs
       $selected = in_array($rubrique, $champs) ? 'selected="selected"' : ''; 
     
       //On affiche la rubrique
       echo '<option value="'. $rubrique .'" '. $selected .'>'. $rubrique .'</option>'; 
    } 
    ?>
    </select>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 119
    Par défaut
    impec ca fonctionne mais j'ai encore un petit soucis, j'ai comme je le disais des valeurs dans ma chaine $data[0] qui ne correspondent pas a la liste et je voudrais les rajouter a la liste deroulante et je ne vois pas comment faire.

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    je te propose de regarder http://php.net/array_merge
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    $liste_totale = array_merge($liste, $champs);
    foreach($liste_totale as $rubrique) {
    ...

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

Discussions similaires

  1. [XL-2007] Creation tableaux remplissage auto. selon choix liste deroulante
    Par Timepiece dans le forum Excel
    Réponses: 2
    Dernier message: 19/06/2014, 01h11
  2. Formulaire avec saisie par liste deroulante
    Par jcp66 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 31/01/2013, 17h39
  3. Requête avec critère dans liste deroulante
    Par dj pimousse dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/08/2012, 23h43
  4. Réponses: 0
    Dernier message: 05/02/2011, 10h40
  5. requete avec parametre sur liste deroulante
    Par warix dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/09/2007, 10h34

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