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:
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:
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:
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:
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 .