Bonjour,
me revoilà une question SQL mais je chercher et j'ai l'impression de chercher compliquer...

Alors j'ai une personne qui peut faire 3 sports

donc sport1, sport2, sport3 (pas de clef étrangere)

J'ai une table SPORT qui contient une liste de sport voulu.

Je voudrais faire une recherche des personnes qui pratique par exemple du football et de la basket mais ça me pose probleme...

par exemple prenons un personne :

X
sport1 : football
sport2 : randonnée

Y
sport1 : vélo
sport : basket

Z
sport1 : basket
sport2 : football

Si dans ma liste de choix donc 3 champs je mets football en premier et basket en 2eme...je vais avoir X et Y mais pas Z...car le basket est en sport1...vous voyez un peu ce que je veux dire.

J'avais donc pensé de faire une requête du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT num_cli, nom_cli, prenom_cli FROM CLIENT WHERE sport1 IN (35,11,12) AND sport2 IN (35,11,12) AND sport3 IN (35,11,12) ORDER BY nom_cli
mais on dirait qu'il ne prend en compte que le sport1 et que le 35

Voilà un peu 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
45
46
47
48
49
$sport1 = $_POST['sport1'];
$sport2 = ",".$_POST['sport2'];
$sport3 = ",".$_POST['sport3'];
 
if ($_POST['sport1'] == 'aucun')
   {
     $sport1 = "";
   }
if ($_POST['sport2'] == 'aucun')
   {
     $sport2 = "";
   }
if ($_POST['sport3'] == 'aucun')
   {
     $sport3 = "";
   }
 
 
## requête pour le sport1
   $req_sport = mysql_query("SELECT * FROM SPORT ORDER BY lib_sport"); 
     if ($_POST['sport1'] <> 'aucun')
       {
	     while(($result=mysql_fetch_row($req_sport))!=NULL)
		     {
	           $sport_result1 = "AND sport1 IN (".$sport1."".$sport2."".$sport3.")";
			  }
	   } 
 
 
## requête pour le sport2
   $req_sport = mysql_query("SELECT * FROM SPORT ORDER BY lib_sport"); 
     if ($_POST['sport2'] <> 'aucun')
	   {
	     while(($result=mysql_fetch_row($req_sport))!=NULL)
		     {
	           $sport_result2 = "AND sport2 IN (".$sport1."".$sport2."".$sport3.")";
			  }
	   } 	   
 
 
	   ## requête pour le sport3
   $req_sport = mysql_query("SELECT * FROM SPORT ORDER BY lib_sport"); 
     if ($_POST['sport3'] <> 'aucun')
       {
	     while(($result=mysql_fetch_row($req_sport))!=NULL)
		     {
	           $sport_result3 = "AND sport3 IN (".$sport1."".$sport2."".$sport3.")";
			  }
	   }