Bonjour,

J'ai un problème de résultat de requêtes pour un moteur de recherche, j'explique mon problème.

j'ai un formulaire de recherche avec des champs, des menus déroulants et des checkbox. de ce coté la tout va bien...

mon problème sont les checkbox, ce sont des conditionnel de type de recherche.

checkbox 1 = chien
checkbox 2 = chat
checkbox 3 = oiseaux
checkbox 4 = cochon d'inde


dans la base j'ai des users qui possèdent soit un chien soit un chat soit les deux... etc

Suivant les checkbox cochés je désire afficher évidemment les résultats. mon problème est que si la personne coche la checkbox 1 et 2 par exemple, le résultat retournera uniquement ceux qui ont un chien et un chat, et je voudrais la liste de ceux qui ont soit un chat soit un chien ou les deux et ainsi de suite pour les checkbox. ci joint un extrait de ma page de résultat

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
$countryLive=$_POST['countryLive'];
$pseudo2=ucfirst(strtolower($_POST['pseudo']));
 
$searchingFor01=$_POST['searchingFor01'];
$searchingFor02=$_POST['searchingFor02'];
$searchingFor03=$_POST['searchingFor03'];
$searchingFor04=$_POST['searchingFor04'];
 
$photo=$_POST['photo'];
$date_connex=$_POST['date_connex'];
 
$select = "SELECT coordonnes.pays,users_profils.searchingFor01,users_profils.searchingFor02,users_profils.searchingFor03,users_profils.searchingFor04,users.pseudo,users.date_last_visite FROM coordonnes 
INNER JOIN users_profils 
ON coordonnes.refID=users_profils.id_users 
INNER JOIN users 
ON coordonnes.refID=users.userID 
WHERE 
coordonnes.pays LIKE '%$countryLive%' 
AND users.pseudo LIKE '$pseudo2%' 
AND 
(users_profils.searchingFor01 LIKE '%$searchingFor01%' OR
users_profils.searchingFor02 LIKE '%$searchingFor02%' OR
users_profils.searchingFor03 LIKE '%$searchingFor03%' OR 
users_profils.searchingFor04 LIKE '%$searchingFor04%') 
AND users.date_last_visite >= '$rech_connexion' ";
 
$result = mysql_query($select)or die(mysql_error());
$res01= mysql_numrows($result);
J’espère avoir été clair dans mes explications j'ai tout essayé avec OR ou AND et je tombe toujours sur un résultat faux.

Merci de votre aide...