salutatous,

j'ai un formulaire composé de 3 listes déroulantes + 2 boutons radio pour le choix AND ou OR

ma recherche est correcte si je coche le bouton radio OR.

MAIS le AND ne fonctionne uniquement que si j'ai fait un choix sur les 3 listes !!!

si j'oublie une des 3 listes déroulantes, le résultat m'affiche 0 !!!

c'est-à-dire que ça ne fonctionne pas si ma requête est du type (ici ville est vide) :
SELECT id,nom,prenom FROM ma_table WHERE code_postal like 'code_postal' AND departement like 'departement' AND ville like ''

voici mon code :

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
39
40
41
42
43
44
// +++++++++++++++++++++++++++++++++++++++++
// TRAITEMENT
 
// recup de la valeur "AND" ou "OR"
 
$AND_OR = $radio_et_ou;
 
// COMPOSITION DE LA REQUETE
 
$requete = "SELECT id,nom,prenom FROM ma_table WHERE 
			code_postal like '$code_postal' $AND_OR
			departement like '$departement' $AND_OR 
			ville like '$ville'
";
 
$resultat = mysql_query($requete);
 
// NOMBRE RÉSULTATS TROUVÉS
 
$nombre_de_resultats = mysql_num_rows($resultat);
echo "Votre requête a produit $nombre_de_resultats résultats";
echo "<br /><br />";
 
// AFFICHAGE DES RÉSULTATS
 
if ($nombre_de_resultats > 0) {
 
	// echo "<p></p>";
	echo "<table border=1 cellspacing=0 cellpadding=3>";
	echo "<tr>
		<td width=250>&nbsp;</td><td width=100>Nom</td><td width=100>Prénom</td>
		</tr>";
 
	while ( $ligne = mysql_fetch_array($resultat) ) {
 
		$nom = $ligne["nom"];
		$prenom = $ligne["prenom"];
 
		echo "<tr>
			<td>&nbsp;$nom </td><td>&nbsp;$prenom </td>
			</tr>";
	}
	echo "<table>";
}
merci de vos lumières
Nico