Recuperation de données dans un menu deroulant

Recuperation de données dans un menu deroulant - PHP - Programmation

Marsh Posté le 17-11-2008 à 06:06:22    

Bonjour a tous,
 
J'ai cette page  
 

Code :
  1. <select name="titre" id="titre">
  2.         <option value="Choisir une civilit&eacute;">Choisir une civilit&eacute;</option>
  3.         <option value="Monsieur">Monsieur</option>
  4.       <option value="Madame">Madame</option>
  5.       <option value="Mademoiselle">Mademoiselle</option>
  6.       </select>


Je recupere ceci dans ma base sans probleme. Maintenant je voudrais savoir comment le recuperer sur ma page modification. Je voudrais que le selected soit placé a l'endroit qu'a choisi le client.

Reply

Marsh Posté le 17-11-2008 à 06:06:22   

Reply

Marsh Posté le 17-11-2008 à 07:34:52    

et quelle est la difficulté??


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-11-2008 à 09:35:54    

Je voudrais recuperer la variable et l'afficher, le pb est que dans cette configuration j'ai trois tests a faire. Y aurais t-il un test plus simple ?

Reply

Marsh Posté le 17-11-2008 à 09:42:29    

En supposant que tu récupères la civilité sous $civil :
 

Code :
  1. <?php
  2. echo '<select name="titre" id="titre">';
  3. echo ' <option value=""'; echo ($civil == '') ? ' selected="selected"' : ''; echo '>Choisir une civilit&eacute;</option>';
  4. echo ' <option value="Monsieur"'; echo ($civil == 'Monsieur') ? ' selected="selected"' : ''; echo '>Monsieur</option>';
  5. echo ' <option value="Madame"'; echo ($civil == 'Madame') ? ' selected="selected"' : ''; echo '>Madame</option>';
  6. echo ' <option value="Mademoiselle"'; echo ($civil == 'Mademoiselle') ? ' selected="selected"' : ''; echo '>Mademoiselle</option>';
  7. echo '</select>';
  8. ?>


 
Par contre pour aucune, j'ai préféré dans mon texemple texter sur un champ vide, d'une part, ça te fait un VARCHAR moins grand (^^) d'autre part c'est plus simple à tester.
L'idéal étant une jointure sur une autre table si besoin de traduction évidemment, avec un id de civilité.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 17-11-2008 à 10:03:34    

Merci de ta reponse.
Je vais etre un peu cru, j'en suis desolé.  
Je ne veux pas faire ce type de test mais construire mon select grace a une boucle. Mes données etant du texte je doute que cela soit possible.
Ou alors en remplacant dans ma base par des entiers
1= Monsieur
2= Madame
...
Je me demande comment font les sites ou par exemple le select est pour le pays (+de 100 choix possibles). Ils font comment si l'internaute veux changer ses données ?

Reply

Marsh Posté le 17-11-2008 à 10:15:41    

epoc01 a écrit :

Je veux [...] construire mon select grace a une boucle.


Mais qu'est-ce qui t'en empêche?[:pingouino]
Grosso merdo ça te donne un truc dans ce genre :

 
Code :
  1. echo '<select...>';
  2. foreach($mesjoliescivilites as $id=>$civ){
  3. echo '<option value="'.$id.'"';
  4. if($id == $lejoliiddelacivilitedumecquejairecuperedanslabase){
  5.   echo ' selected="selected"';
  6. }
  7. echo '>';
  8. echo $civ."</option>";
  9.  
  10. }
  11. echo <'/select>';


Message édité par skeye le 17-11-2008 à 10:20:15

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-11-2008 à 11:03:50    

c'est tout a fait ca. Je ne suis pas adapte du foreach
D'ou sortent le $id le $mesjoliescivilites et $ civ ?
 

Code :
  1. include ("conf.php" );
  2. $annonce= 'AN-che211733';
  3. $result=mysql_query("select * from proprietaire where idannonce='$annonce'" );
  4. $row = mysql_fetch_assoc($result);
  5. $totalRows = mysql_num_rows($result);
  6. echo '<select...>';
  7. foreach($mesjoliescivilites as $id=>$civ){
  8. echo '<option value="'.$id.'"';
  9. if($id == $lejoliiddelacivilitedumecquejairecuperedanslabase){ 
  10. echo ' selected="selected"'; } echo '>';
  11. echo $civ."</option>"; }
  12. echo <'/select>';


Je dois avant declarer mes variables monsieur madame mademoiselle... ++> c'est $civ ?


Message édité par epoc01 le 17-11-2008 à 11:06:56
Reply

Marsh Posté le 17-11-2008 à 11:09:33    

hého on va pas te prendre par la main jusqu'au bout hein...dans ta table propriétaire tu dois bien avoir une référence à la civilité quelque part, c'est ça dans $lejoliiddelacivilitedumecquejairecuperedanslabase.
 
Et $mesjoliescivilites ce serait un tableau contenant une éventuelle table des civilités du style code=>libellé, avec le code comme clé...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-11-2008 à 11:17:21    

ok, je voulais juste savoir comment fonctionnait le foreach et non etre pris par la main.
 
Merci de ta reponse...

Reply

Marsh Posté le 17-11-2008 à 11:20:55    

fr.php.net/foreach :spamafote:


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed