bonjour a tous,
je cherche a faire une de table dans ma requete de recherche
Les données sont les suivantes:
2 tables automobile et options
les conditions de recherche sont intégré a un tableaux $where[]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $where = array(); IF ($modele) { // si le champ 1 est renseigné $where[] = " modele='$modele' "; // ON l'ajoute a la requete } if ($accident) { // si le champ 1 est renseigné $where[] = " accident='$accident' "; // on l'ajoute a la requete } etc................
la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $recherche_auto=mysql_query ("SELECT * FROM automobile where marque='$marque' and ".implode("AND",$where))OR die('Erreur MySQL : '.mysql_error());
la table automobile:
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 CREATE TABLE IF NOT EXISTS `automobile` ( `id` mediumint(5) NOT NULL AUTO_INCREMENT, `id_membre` mediumint(5) NOT NULL, `marque` varchar(2) collate latin1_general_ci NOT NULL, `modele` varchar(3) collate latin1_general_ci NOT NULL, `mois` varchar(2) collate latin1_general_ci NOT NULL, `annee` varchar(4) collate latin1_general_ci NOT NULL, `prix` varchar(5) collate latin1_general_ci NOT NULL, `accident` varchar(1) collate latin1_general_ci NOT NULL, `carburant` varchar(1) collate latin1_general_ci NOT NULL, `kilometrage` varchar(5) collate latin1_general_ci NOT NULL, `chevaux` varchar(2) collate latin1_general_ci NOT NULL, `vehicule_etat` varchar(1) collate latin1_general_ci NOT NULL, `transmission` varchar(1) collate latin1_general_ci NOT NULL, `cylindre` varchar(1) collate latin1_general_ci NOT NULL, `couleur_inter` varchar(1) collate latin1_general_ci NOT NULL, `type_carro` varchar(1) collate latin1_general_ci NOT NULL, `couleur_carro` varchar(1) collate latin1_general_ci NOT NULL, `pays` varchar(1) collate latin1_general_ci NOT NULL, `cp` varchar(5) collate latin1_general_ci NOT NULL, `description` varchar(200) collate latin1_general_ci NOT NULL, `site` varchar(100) collate latin1_general_ci NOT NULL, `date` varchar(11) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ; -- -- Contenu de la table `automobile` -- INSERT INTO `automobile` (`id`, `id_membre`, `marque`, `modele`, `mois`, `annee`, `prix`, `accident`, `carburant`, `kilometrage`, `chevaux`, `vehicule_etat`, `transmission`, `cylindre`, `couleur_inter`, `type_carro`, `couleur_carro`, `pays`, `cp`, `description`, `site`, `date`) VALUES (1, 1, '69', '976', '7', '1990', '1000', '2', '3', '10000', '12', '1', '1', '1', '2', '2', '5', '1', '75', 'super 190', 'http://www.nebilpro.free.fr', '1215880255'), (2, 1, '69', '993', '1', '2007', '1000', '2', '2', '10000', '1', '1', '1', '9', '1', '7', '2', '1', '93', 'ignez-vous aux millions d''utilisateurs qui ont déjà intégré la famille eBay. Ce sera un plaisir de vous accueillir parmi nous.\r\n\r\nInscrivez-vous sur eBay pour pouvoir bénéficier des différents avantag', 'http://', '1215881645');
la table options
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 CREATE TABLE IF NOT EXISTS `options` ( `id` mediumint(5) NOT NULL AUTO_INCREMENT, `id_auto` varchar(2) collate latin1_general_ci NOT NULL, `option` varchar(5) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=32 ; -- -- Contenu de la table `options` -- INSERT INTO `options` (`id`, `id_auto`, `option`) VALUES (1, '1', '6'), (2, '1', '15'), (3, '1', '18'), (4, '1', '21'), (5, '1', '24'), (6, '1', '28'), (7, '1', '31'), (8, '1', '35'), (9, '1', '37'), (10, '1', '38'), (11, '1', '39'), (12, '1', '40'), (13, '1', '42'), (14, '1', '43'), (15, '2', '8'), (16, '2', '11'), (17, '2', '15'), (18, '2', '16'), (19, '2', '17'), (20, '2', '18'), (21, '2', '24'), (22, '2', '25'), (23, '2', '29'), (24, '2', '30'), (25, '2', '33'), (26, '2', '37'), (27, '2', '38'), (28, '2', '39'), (29, '2', '40'), (30, '2', '42'), (31, '2', '44');
le probleme:[/I]
donc une partis des carateristiques de l'auto etant sur la table automobile , la pas de probelme , mais l'autre partie se trouvent sur la table option donc mon soucis c'est
1/ faire la jointure dans la requete
2/ inclure les conditions de recherche qui se trouvent sur la table options
dans la requete.
merci d'avance pour votre aide .
Partager