Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1390 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Tableau : je dois pouvoir ne pas perdre tous mes cheveux...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau : je dois pouvoir ne pas perdre tous mes cheveux...

n°2180154
snowcode
Posté le 13-03-2013 à 10:07:37  profilanswer
 

Bonjour,
 
je pense pouvoir me simplifier grandement la vie mais je n'y arrive pas. Peut-être votre aide me sera très utile :)
 
BESOINS
Je souhaite récupérer le résultat de ma requete MySQL et créer la liste déroulante suivante :
<option value="id_chambre">id_chambre_type | nom prenom</value>
 
Ce qui donnerait pour une chambre à un seul occupant :
<option value="2410">1 | BERNARD PATRICIA</value>
 
et ce qui donnerait pour une chambre double :
<option value="2501">1 | RIEHL BERNARD, RIEHL NELLY</value>
 
TABLEAU
Ma requête me revoie le tableau suivant :
 
Array
(
    [0] => Array
        (
            [nom] => BERNARD
            [prenom] => PATRICIA
            [id_chambre] => 2410
            [id_chambre_type] => 1
        )
 
    [1] => Array
        (
            [nom] => RIEHL
            [prenom] => BERNARD
            [id_chambre] => 2501
            [id_chambre_type] => 2
        )
 
    [2] => Array
        (
            [nom] => RIEHL
            [prenom] => NELLY
            [id_chambre] => 2501
            [id_chambre_type] => 2
        )
)
 
 
MON PROBLEME
Je n'en aurais pas si j'avais que des chambres individuelles à traiter.  
Mais pour le cas des chambres doubles ou triples, je souhaite afficher une seule fois l'id de la chambre, et le nom de tous ses occupants dans un seul option du select.
 
Si j'ai été assez compréhensible et que vous avez la solution ultime, je suis preneur !
 
Sinon je préparerais d'avantage mon tableau en amont.
Merci,

mood
Publicité
Posté le 13-03-2013 à 10:07:37  profilanswer
 

n°2180162
flo850
moi je
Posté le 13-03-2013 à 10:24:46  profilanswer
 

Le plus facile à mettre en place  
 
 tu utilises un bout de code comme ça :  

Code :
  1. //lors de la récup
  2. $chambres = array();
  3. while(list($nom,$prenom,$id_chambre,id_chambre_type) = mysql_fetch_array($result)){
  4.  
  5.    if(empty($chambres[$id_chambre]){
  6.       $chambres[$id_chambre] = array(''=>$id_chambre_type, occupants=>array());
  7.    }
  8.     $chambres[$id_chambre]['occupants'][] = array('nom'=>$nom,'prenom'=>$prenom);
  9. }
  10.  
  11.  
  12. //lors de l'affichage
  13. echo '<select name="truc">';
  14. foreach($chambres as $id_chambre =>$chambre){
  15.     echo '<option value='".$id_chambre.'">
  16.     echo $chambre['id_chambre_type'].' | ';
  17.     echo implode(',',$chambre['occupants']);
  18.     echo '<option>';
  19.  
  20. }
  21. echo '</select>';


 
Je n'ai pas ajouté la partie echappement de caractère pour eviter des nom type <script>alert('pwet');</script>


---------------

n°2180163
snowcode
Posté le 13-03-2013 à 10:27:11  profilanswer
 

Merci bcp de ta rapidité.
J'essaie ça immédiatement :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Tableau : je dois pouvoir ne pas perdre tous mes cheveux...

 

Sujets relatifs
[WORD 2010] Sélectionner et déplacer une ligne dans un tableau[resolu] Fetch_object
lsite chainée en ADA avec allocation static des objets dans un tableauHTML tableau colspan
brobleme: tableau de structureRécupérer une "colonne" d'un tableau
Suppression des doublons dans un tableau des chaines des caractèresProbleme : Tableau de pointeurs sur structure
Exercice java débutant Trie tableaucouleur tableau fct result valeur colonne csv
Plus de sujets relatifs à : Tableau : je dois pouvoir ne pas perdre tous mes cheveux...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR