Meilleur solution pour remplir listes ?

Eléphant du PHP | 139 Messages

02 déc. 2005, 09:54

Bonjour a tous,

Voila je me pose une question :

Comment remplir une liste déroulante d'informations contenu dans une base de donnée ?

Alors voici le code que je fesais :
<select name="select">
    <?
					if (isset($result2)) {@mysql_free_result($result2);}
					$query2 = "SELECT Nomsecteur FROM imprime.secteur ORDER BY Idsecteur ASC";
					$result2 = mysql_query($query2);
					while($champ = @mysql_fetch_array($result2)){
					$secteur=$champ[1];
				?>
	  			<option value="<? echo $secteur; ?>"><? echo $secteur; ?></option>
	  			<? } ?>
	</select>

Est-ce la bonne solution ? La meilleure ?
Comment etre sur que ma liste se remplisse ? (car de tps en tps elle se remplit pas ! :shock:)
J'aimerais avoir une solution fiable et qui fonctionne a tout les coups !

Merci d'avance !

Mammouth du PHP | 19672 Messages

02 déc. 2005, 09:59

On peut simplifier sur un détail mais dans l'ensemble c'est la bonne méthode:
<select name="select">
<?
    if (isset($result2))
    {
        mysql_free_result($result2);
    }
    $query2 = "SELECT Nomsecteur FROM imprime.secteur ORDER BY Idsecteur ASC";
    $result2 = mysql_query($query2);
    while($champ = mysql_fetch_assoc($result2))
    {
?>
  <option value="<? echo $champ['Nomsecteur']; ?>"><? echo $champ['Nomsecteur']; ?></option>
<?
    }
?>
</select>
Un autre détail : ne mets pas de "@" devant un nom de fonction PHP, ça masque les erreurs, une mauvaise habitude en développement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 139 Messages

02 déc. 2005, 10:09

Merci beaucoup :D

En ce qui concerne les erreurs, ça m'énervait de voir que mon code marchait pas alors avec des @ partoutu, bin ton code, il fonctionne ! ;)

Ok je les enlève ! ;)

Merci encore