PHP select qui n affiche rien

Résolu
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voilà dans un formulaire je dois récupérer l'id d'un département choisi par l'utilisateur pour le mettre dans une table utilisateur. Pour cela, je mets dans un <select></select> les départements et en value les id.
Donc voilà le code si vous y voyez des erreurs, parce que ça ne récupère rien depuis la base :
Département :
		<?php
		//On se connecte à la base de données

		$host = "localhost";
		$user = "root"; 			// vide ou "root" en local
		$passBD = ""; 				// vide en local
		$bdd = "choisirmonvin"; 	// nom de la BD

		mysql_connect($host,$user,$passBD) or die ("Impossible de se connecter à $host");
		mysql_select_db($bdd) or die ("Impossible de se connecter à $host");

		$sql2 = 'SELECT idDepartement,Departement FROM Departement';
		?>

		<select name="idDepartement">

		<?php
		while ($req2 = mysql_fetch_array($sql2)){
		?>
		<option value="<?php echo $req2['idDepartement']; ?>"><?php echo $req2['Departement']; ?></option>
		<?php
		}
                // on se déconnecte de la base
		mysql_close();
		?>
		</select>

4 réponses

biboo
 
Ca n'a certainement pas de rapport, mais évite d'utiliser les mêmes noms de variables (idDepartement par exemple).

Sinon dans ton option :

<option value="<?php echo $req2['idDepartement']; ?>"><?php echo $req2['Departement']; ?></option>

mets une valeur en dur, histoire de savoir si il affiche le nombre de ligne de département :


$i = 0;

while .. {
echo '<option value="<?php echo $req2['idDepartement']; ?>">".$i."<?php echo $req2['Departement']; ?></option>

}

(bon ya des fautes de syntaxes, mais bref, tu vois l'idée)

Je te conseille aussi de tout mettre dans la même balise php <?php ?>, et de faire des échos quand il s'agit de code HTML. Avec de l'identation, c'est beaucoup plus clair.
1
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Merci d'avance pour vos réponses !
0
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
dans le while il n y a que ca :
while ($req2 = mysql_fetch_array($sql2))
0
fast518 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Merci biboo pour la réponse.
Voilà j'ai tous mis dans une seule balise php et j'ai corrigé quelques erreurs de sommeil (comme quoi la sieste est existentiel !!).
Je joins le bout de code qui marche pour ceux qui voudraient s'en servir :
Pays :
		<?php
		//On se connecte à la base de données

		$host = "localhost";
		$user = "root"; 			// vide ou "root" en local
		$passBD = ""; 				// vide en local
		$bdd = "mabase"; 	// nom de la BD

		mysql_connect($host,$user,$passBD) or die ("Impossible de se connecter à $host");
		mysql_select_db($bdd) or die ("Impossible de se connecter à $host");
		
		$sql2 = 'SELECT idPays,Pays FROM Pays';
		$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());
		
		echo '<select name="idPays">' ;
		while ($donnee2 = mysql_fetch_array($req2))
		{
		echo '<option value="'.$donnee2['idPays'].'">'.$donnee2['Pays'].'</option>';
		}
		// On libère la mémoire
		mysql_free_result ($req2); 
		//On ferme la connexion
		mysql_close();
		
		echo '</select>';
		?>
0