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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!