Définir le contenu d'une liste de sélection avec un BDD
Bonjour,
J'ai une base de données qui contient un champs ville.
Je souhaite que l'utilisateur est la possiblité de faire un tri par ville.
Pour cela il me faut afficher dans la liste de sélection de mon formulaire les villes présentent dans ma base.
Chaque categorie comporte une liste de villes différente.
Il faut donc extraire toutes les villes présentes mais ne les afficher qu'une fois.
Voilà ce que j'ai réussi à faire, y a t il mieux ou plus juste?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
Ville: <select name="ville">
<option></option>
<?php
// Connexion au serveur
$connect = mysql_connect('mysql5-9','base','pwd') or die ("Erreur de connexion");
mysql_select_db('base',$connect) or die ("Erreur de connexion base");
?>
<?php
// Requete= extraction de toutes les villes correspondant à la catégorie demandée
$query ="SELECT ville FROM base WHERE categorie1='$categorie1' ORDER by ville";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{
$resul_ville=$data['ville'];//$resul_ville contient la ville trouvée
$test_doublon=strstr($serievilles,$resul_ville);//$serievilles cumule les noms de villes uniques
if (empty($test_doublon))
{
$serie_villes=$serie_villes.$resul_ville;//ajout dans $serievilles de la nouvelle ville unique
echo '<option>'.$resul_ville.'</option>';
echo '<br>';
}
}
// Deconnexion de la base de donnees
mysql_close();
?>
</select>
<input type="submit" name="envoi" value="Envoyer " /><br />
</form> |
Merci pour vos lumières!
;)