Recherche avancéé en PHP

Résolu/Fermé
LCV Messages postés 15 Date d'inscription mardi 30 juin 2009 Statut Membre Dernière intervention 30 juillet 2009 - 24 juil. 2009 à 10:01
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 24 juil. 2009 à 10:16
Bonjour,

Je souhaite réaliser une recherche en utilisant 2 listes déroulantes pour le moment (il m'en faudra 30 plus tard).
Voici ce que j'ai actuellement:
Je mets juste un morceau
switch($_POST['distance_cote']) 
{
case "- de 10 km" : $where[] = "distance_cote < 10"; 
break;
case "de 10 à 20 km" : $where[] = "distance_cote BETWEEN 10 AND 20"; 
break;
case "de 20 à 40 km" : $where[] = "distance_cote BETWEEN 20 AND 40"; 
break;
case "de 40 à 50 km" : $where[] = "distance_cote BETWEEN 40 AND 50"; 
break;
case "+ de 50 km" : $where[] = "distance_cote > 50"; 
break;

}
}
 
$sql  = mysql_query("SELECT nom,profondeur,distance_cote FROM infos");
if (isset($where)) 
{
$sql .= "WHERE " . implode(' AND ', $where);
}
		}
	
}
mysql_close();
?>
A voir également:

2 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
24 juil. 2009 à 10:05
Bonjour,
j'ai manqué un épisode où il n'y a pas vraiment de question ?
^^
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 juil. 2009 à 10:16
Ca peut marcher, mais

$sql = mysql_query("SELECT nom,profondeur,distance_cote FROM infos");
if (isset($where))
{
$sql .= "WHERE " . implode(' AND ', $where);


il faut que tu mettes un espace soit avant le WHERE soit après info

ensuite je rajouterait un default au switch case
0