8791 sujets

Développement web côté serveur, CMS

Bonjours à tous,

Je sais cque c'est un sujet bateau mais je viens de passer qq heures dans différents forums (pour pas déranger pour rien) et je n'ai pas trouvé mon bonheur.

Un truc simple : je lis, dans mysql, la liste des pays. Si un pays correspond au pays antérieurement choisi par le visiteur, je le mets en SELECTED. Simple. Je l'ai fait cent fois et tout fut (il y a longtemps) ok.
Et là, ça ne fonctionne pas.


    	    
echo "
<SELECT name='pays'> 
       <OPTION>Choisissez ici :</OPTION>";
                 	
      $reponse = "SELECT * FROM pays";
      $req = MYSQL_QUERY($reponse, GetMyConnection());
      $res = mysql_num_rows($req);
  
      $i=0;		
      
      while ($i != $res) 
      {
      	$le_pays = mysql_result($req, $i, pays);	
      			
      	if  ($le_pays == $pays_choisi)              
    	{
                   $defaut_pays="SELECTED";  				}
    				  
      	echo "<OPTION $defaut_pays>$le_pays</OPTION>";    			
      	$i++;
      }	
      echo "</SELECT>";



J'ai tout essayé me semble-t-il. Quotes, pas quotes, doubles ou simples, bref pas de sélection. Amusant (je l'avais jamais vu) si au lieu des quotes à "SELECTED" je mets des apostrophes la liste commence par 'Choisissez ici :' sinon la liste commence par Zimbabwe ...

Si vous voyez où ça coince, merci du coup de main.

Cordialement.
Ton code est un peu crade et pas très clair quand même


echo '<select name="pays">';
echo '<option>Choisissez ici :</option>';

$query = "SELECT * FROM `pays`";
$req = mysql_query($query, GetMyConnection());

while (($country = mysql_fetch_array($req)) != false) 
{
      	$selected = '';
      	if  ($country == $pays_choisi)              
    	{
            $selected = ' selected="selected"';
        }
      	echo '<option' . $selected . '>' . $country['nom'] . '</option>';    			
}	
echo "</select>";


je ne connais pas les champs de ta table pays, donc il faudra que tu changes certainement l'index 'nom' dans le tableau $country.
Tu devrais rajouter un 'ORDER BY `nom`' dans ta requête, justement pour que les pays soient dans l'ordre alphabétique.
Salut,

@Surfoo > +1... à part 2 pitites erreurs :
if  ($country[#blue][b]['nom_pays'][/b][/#] == $pays_choisi)  
...
echo "\t<option" . $selected . [#blue][b]' value="'.$country['nom_pays'].'"[/b][/#]>' . $country['nom_pays'] . "</option>\n";
Smiley cligne
Bonjour,

Merci pour vos bonnes réponses. J'ai réussi à tout faire fonctionner, super !

Merci encore.

Cordialement.
Bonjour,

Je l'ai cherché partout, le 'RESOLU', mais sans trouver.

J'accepte les colibets mais dis-moi où cela se trouve, svp.

Merci.

Cordialement.
whombat a écrit :

J'accepte les colibets mais dis-moi où cela se trouve, svp.

Bon alors un tout petit :
Heyoan a écrit :
Cool Smiley smile !

Un petit [Résolu] pour fêter ça ? Smiley cligne
Le lien contenu dans ce message répondait à ta question ! Smiley langue

En résumé il faut éditer le premier post de ce sujet, ce qui te permet de modifier le titre (eh oui : pas de bouton Smiley cligne ).