Formulaire de recherche à deux champs listes

cleminute -  
clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,Je suis un vrai zéro en php. Je voudrais créer un moteur de recherche pour mon site où le visiteur sélectionne la ville dans un champ liste nommé ville et ensuite sélectionne la catégorie dans un champ liste nommé catégorie enfin il clique sur le bouton recherche et obtient le résultat. Exemple celui qui cherche les restaurants d'une ville. Il sélectionne la ville dans un champ liste nommé ville un nom de ville et dans le champs liste "catégorie", il sélectionne restaurant et il voit afficher la liste de tous les restaurants de cette ville.J'ai crée le formulaire et les deux tables mais je ne sais plus comment les faire fonctionner. Je demande de l'aide tous.
Voici la structure de ma base de données:


-- Base de données: `afriqueplus`
--

-- --------------------------------------------------------

--
-- Structure de la table `categorie`
--

CREATE TABLE `categorie` (
`idcategorie` int(5) NOT NULL auto_increment,
`typecategorie` varchar(150) default NULL,
`contenu_categorie` text,
`adresse` text,
`tel` varchar(10) default NULL,
`image` varchar(150) default NULL,
PRIMARY KEY (`idcategorie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;

--
-- Contenu de la table `categorie`
--

INSERT INTO `categorie` VALUES (1, 'Hotel', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (2, 'Restaurant', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (3, 'Super marché', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (4, 'Hyper marché', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (5, 'Magasin', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (6, 'Nounous', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (7, 'Cordonnier', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (8, 'Clinique', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (9, 'Pharmacie', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (10, 'Ecole', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (11, 'Grande ecole', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (12, 'Université', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (13, 'Hôpital', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (14, 'Vigile', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (15, 'Eglise', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (16, 'Culte', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (17, 'Plombier', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (18, 'Radio', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (19, 'Maquis', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (20, 'Bar climatisé', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (21, 'Night-club', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (22, 'Station service', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (23, 'Médécin', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (24, 'Infirmier', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (25, 'Hussier', NULL, NULL, NULL, NULL);
INSERT INTO `categorie` VALUES (26, 'Notaire', NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Structure de la table `ville`
--

CREATE TABLE `ville` (
`idville` int(5) NOT NULL auto_increment,
`ville` varchar(150) default NULL,
PRIMARY KEY (`idville`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=222 ;

--
-- Contenu de la table `ville`
--

INSERT INTO `ville` VALUES (1, 'ABENGOUROU');
INSERT INTO `ville` VALUES (2, 'ABIDJAN');
INSERT INTO `ville` VALUES (3, 'ABOISSO');
INSERT INTO `ville` VALUES (4, 'ADIAKE');
INSERT INTO `ville` VALUES (5, 'ADZOPE');
INSERT INTO `ville` VALUES (6, 'AGBOVILLE');
INSERT INTO `ville` VALUES (7, 'AGOU');
INSERT INTO `ville` VALUES (8, 'AGNIBILEKROU');
INSERT INTO `ville` VALUES (9, 'AKOUPE');
INSERT INTO `ville` VALUES (10, 'ALEPE');
INSERT INTO `ville` VALUES (11, 'ANGOUA');
INSERT INTO `ville` VALUES (12, 'ANOUMABA');
INSERT INTO `ville` VALUES (13, 'ANYAMA');
INSERT INTO `ville` VALUES (14, 'ARRAH');
INSERT INTO `ville` VALUES (15, 'AYAME');
INSERT INTO `ville` VALUES (16, 'ASSIKOI');
INSERT INTO `ville` VALUES (17, 'ASSINIE-MAFIA');
INSERT INTO `ville` VALUES (18, 'ASSUEFRY');
INSERT INTO `ville` VALUES (19, 'ATTIEGOUAKRO');
INSERT INTO `ville` VALUES (20, 'AZAGUIE');
INSERT INTO `ville` VALUES (21, 'BAGOHOUA');
INSERT INTO `ville` VALUES (22, 'BAKO');
INSERT INTO `ville` VALUES (23, 'BAKOUBLI');
INSERT INTO `ville` VALUES (24, 'BANGOLO');
INSERT INTO `ville` VALUES (25, 'BASSAWA');
INSERT INTO `ville` VALUES (26, 'BECEDI BRIGNAN');
INSERT INTO `ville` VALUES (27, 'BEDIALA');
INSERT INTO `ville` VALUES (28, 'BEOUMI');
INSERT INTO `ville` VALUES (29, 'BEROUTOU');
INSERT INTO `ville` VALUES (30, 'BETTIE');
INSERT INTO `ville` VALUES (31, 'BIANKOUMA');
INSERT INTO `ville` VALUES (32, 'BIANOUAN');
INSERT INTO `ville` VALUES (33, 'BINGERVILLE');
INSERT INTO `ville` VALUES (34, 'BLOLEQUIN');
INSERT INTO `ville` VALUES (35, 'BOCANDA');
INSERT INTO `ville` VALUES (36, 'BODOKRO');
INSERT INTO `ville` VALUES (37, 'BOGUEDIA');
INSERT INTO `ville` VALUES (38, 'BONDOUKOU');
INSERT INTO `ville` VALUES (39, 'BONGOUANOU');
INSERT INTO `ville` VALUES (40, 'BONGUERA');
INSERT INTO `ville` VALUES (41, 'BONIEREDOUGOU');
INSERT INTO `ville` VALUES (42, 'BONON');
INSERT INTO `ville` VALUES (43, 'BONOUA');
INSERT INTO `ville` VALUES (44, 'BOOKO');
INSERT INTO `ville` VALUES (45, 'BOTRO');
INSERT INTO `ville` VALUES (46, 'BOUAFLE');
INSERT INTO `ville` VALUES (47, 'BOUAKE');
INSERT INTO `ville` VALUES (48, 'BOUNA');
INSERT INTO `ville` VALUES (49, 'BOUNDIALI');
INSERT INTO `ville` VALUES (50, 'BROBO');
INSERT INTO `ville` VALUES (51, 'BUYO');
INSERT INTO `ville` VALUES (52, 'DABAKALA');
INSERT INTO `ville` VALUES (53, 'DABOU');
INSERT INTO `ville` VALUES (54, 'DALOA');
INSERT INTO `ville` VALUES (55, 'DANIA');
INSERT INTO `ville` VALUES (56, 'DAOUKRO');
INSERT INTO `ville` VALUES (57, 'DIABO');
INSERT INTO `ville` VALUES (58, 'DIANRA');
INSERT INTO `ville` VALUES (59, 'DIAWALLA');
INSERT INTO `ville` VALUES (60, 'DIEGONEFLA');
INSERT INTO `ville` VALUES (61, 'DIEOUZON');
INSERT INTO `ville` VALUES (62, 'DIDIEVI');
INSERT INTO `ville` VALUES (63, 'DIMBOKRO');
INSERT INTO `ville` VALUES (64, 'DIKODOUGOU');
INSERT INTO `ville` VALUES (65, 'DIOULATIEDOUGOU');
INSERT INTO `ville` VALUES (66, 'DIVO');
INSERT INTO `ville` VALUES (67, 'DJEBONOUA');
INSERT INTO `ville` VALUES (68, 'DJEKANOU');
INSERT INTO `ville` VALUES (69, 'DJIBROSSO');
INSERT INTO `ville` VALUES (70, 'DOROPO');
INSERT INTO `ville` VALUES (71, 'DUALLA');
INSERT INTO `ville` VALUES (72, 'DUEKOUE');
INSERT INTO `ville` VALUES (73, 'ETTROKRO');
INSERT INTO `ville` VALUES (74, 'ETUEBOUE');
INSERT INTO `ville` VALUES (75, 'FACOBLY');
INSERT INTO `ville` VALUES (76, 'FERKESSEDOUGOU');
INSERT INTO `ville` VALUES (77, 'FOUGBESSO');
INSERT INTO `ville` VALUES (78, 'FOUMBOLE');
INSERT INTO `ville` VALUES (79, 'FRESCO');
INSERT INTO `ville` VALUES (80, 'FRONAN');
INSERT INTO `ville` VALUES (81, 'GADOUAN');
INSERT INTO `ville` VALUES (82, 'GAGNOA');
INSERT INTO `ville` VALUES (83, 'GBELEBAN');
INSERT INTO `ville` VALUES (84, 'GBON');
INSERT INTO `ville` VALUES (85, 'GRABO');
INSERT INTO `ville` VALUES (86, 'GBAPLEU');
INSERT INTO `ville` VALUES (87, 'GNAGBODOUGNOA');
INSERT INTO `ville` VALUES (88, 'GRAND-BASSAM');
INSERT INTO `ville` VALUES (89, 'GRAND-BEREBY');
INSERT INTO `ville` VALUES (90, 'GRAND-LAHOU');
INSERT INTO `ville` VALUES (91, 'GRAND-ZATTRY');
INSERT INTO `ville` VALUES (92, 'GOHITAFLA');
INSERT INTO `ville` VALUES (93, 'GOULIA');
INSERT INTO `ville` VALUES (94, 'GOUMERE');
INSERT INTO `ville` VALUES (95, 'GUEHIEBLY');
INSERT INTO `ville` VALUES (96, 'GUEYO');
INSERT INTO `ville` VALUES (97, 'GUEZON');
INSERT INTO `ville` VALUES (98, 'GUIBEROUA');
INSERT INTO `ville` VALUES (99, 'GUIEMBE');
INSERT INTO `ville` VALUES (100, 'GUIGLO');
INSERT INTO `ville` VALUES (101, 'GUINTEGUELA');
INSERT INTO `ville` VALUES (102, 'GUITRY');
INSERT INTO `ville` VALUES (103, 'HIRE');
INSERT INTO `ville` VALUES (104, 'IBOGUHE');
INSERT INTO `ville` VALUES (105, 'ISSIA');
INSERT INTO `ville` VALUES (106, 'JACQUEVILLE');
INSERT INTO `ville` VALUES (107, 'KANAKONO');
INSERT INTO `ville` VALUES (108, 'KANI');
INSERT INTO `ville` VALUES (109, 'KANIASSO');
INSERT INTO `ville` VALUES (110, 'KASSERE');
INSERT INTO `ville` VALUES (111, 'KARAKORO');
INSERT INTO `ville` VALUES (112, 'KATIOLA');
INSERT INTO `ville` VALUES (113, 'KIOLA');
INSERT INTO `ville` VALUES (114, 'KOFFI AMOUKRO');
INSERT INTO `ville` VALUES (115, 'KOKOUMBO');
INSERT INTO `ville` VALUES (116, 'KOMBORO');
INSERT INTO `ville` VALUES (117, 'KONDROBO');
INSERT INTO `ville` VALUES (118, 'KONG');
INSERT INTO `ville` VALUES (119, 'KONGASSO');
INSERT INTO `ville` VALUES (120, 'KOONAN');
INSERT INTO `ville` VALUES (121, 'KORHOGO');
INSERT INTO `ville` VALUES (122, 'KORO');
INSERT INTO `ville` VALUES (123, 'KPOUEBO');
INSERT INTO `ville` VALUES (124, 'KOUASSI-DATTEKRO');
INSERT INTO `ville` VALUES (125, 'KOUASSI-KOUASSIKRO');
INSERT INTO `ville` VALUES (126, 'KOUIBLY');
INSERT INTO `ville` VALUES (127, 'KOUMBALA');
INSERT INTO `ville` VALUES (128, 'KOUNAHIRI');
INSERT INTO `ville` VALUES (129, 'KOUN-FAO');
INSERT INTO `ville` VALUES (130, 'KOUTO');
INSERT INTO `ville` VALUES (131, 'LAKOTA');
INSERT INTO `ville` VALUES (132, 'LANGUIBONOU');
INSERT INTO `ville` VALUES (133, 'LOGUOUALE');
INSERT INTO `ville` VALUES (134, 'MADINANI');
INSERT INTO `ville` VALUES (135, 'MAFERE');
INSERT INTO `ville` VALUES (136, 'MAN');
INSERT INTO `ville` VALUES (137, 'MANKANO');
INSERT INTO `ville` VALUES (138, 'MARANDALLAH');
INSERT INTO `ville` VALUES (139, 'MASSALA');
INSERT INTO `ville` VALUES (140, 'M’BAHIAKRO');
INSERT INTO `ville` VALUES (141, 'M’BATTO');
INSERT INTO `ville` VALUES (142, 'M’BENGUE');
INSERT INTO `ville` VALUES (143, 'MEAGUI');
INSERT INTO `ville` VALUES (144, 'MINIGNAN');
INSERT INTO `ville` VALUES (145, 'MORONDO');
INSERT INTO `ville` VALUES (146, 'NAPIE');
INSERT INTO `ville` VALUES (147, 'NASSIAN');
INSERT INTO `ville` VALUES (148, 'NIABLE');
INSERT INTO `ville` VALUES (149, 'NIAKARAMANDOUGOU');
INSERT INTO `ville` VALUES (150, 'NIDROU');
INSERT INTO `ville` VALUES (151, 'NIELLE');
INSERT INTO `ville` VALUES (152, 'NIOFOIN');
INSERT INTO `ville` VALUES (153, 'ODIENNE');
INSERT INTO `ville` VALUES (154, 'OUANGOLODOUGOU');
INSERT INTO `ville` VALUES (155, 'OUANINOU');
INSERT INTO `ville` VALUES (156, 'OUELLE');
INSERT INTO `ville` VALUES (157, 'OUME');
INSERT INTO `ville` VALUES (158, 'OURAGAHIO');
INSERT INTO `ville` VALUES (159, 'PEHE');
INSERT INTO `ville` VALUES (160, 'PRIKRO');
INSERT INTO `ville` VALUES (161, 'RUBINO');
INSERT INTO `ville` VALUES (162, 'SAÏOUA');
INSERT INTO `ville` VALUES (163, 'SAKASSOU');
INSERT INTO `ville` VALUES (164, 'SAMATIGUILA');
INSERT INTO `ville` VALUES (165, 'SANDEGUE');
INSERT INTO `ville` VALUES (166, 'SAN PEDRO');
INSERT INTO `ville` VALUES (167, 'SAPLI');
INSERT INTO `ville` VALUES (168, 'SASSANDRA');
INSERT INTO `ville` VALUES (169, 'SARHALA');
INSERT INTO `ville` VALUES (170, 'SATAMA-SOKARO');
INSERT INTO `ville` VALUES (171, 'SEGUELA');
INSERT INTO `ville` VALUES (172, 'SEGUELON');
INSERT INTO `ville` VALUES (173, 'SEÏTIFLA');
INSERT INTO `ville` VALUES (174, 'SEMIEN');
INSERT INTO `ville` VALUES (175, 'SEYDOUGOU');
INSERT INTO `ville` VALUES (176, 'SIFIE');
INSERT INTO `ville` VALUES (177, 'SIKENSI');
INSERT INTO `ville` VALUES (178, 'SIPILOU');
INSERT INTO `ville` VALUES (179, 'SINFRA');
INSERT INTO `ville` VALUES (180, 'SINIMATIALI');
INSERT INTO `ville` VALUES (181, 'SIRASSO');
INSERT INTO `ville` VALUES (182, 'SOGOBANGO');
INSERT INTO `ville` VALUES (183, 'SONGON');
INSERT INTO `ville` VALUES (184, 'SOUBRE');
INSERT INTO `ville` VALUES (185, 'TAABO');
INSERT INTO `ville` VALUES (186, 'TABAGNE');
INSERT INTO `ville` VALUES (187, 'TABOU');
INSERT INTO `ville` VALUES (188, 'TAFIRE');
INSERT INTO `ville` VALUES (189, 'TAI');
INSERT INTO `ville` VALUES (190, 'TANDA');
INSERT INTO `ville` VALUES (191, 'TAOUDI');
INSERT INTO `ville` VALUES (192, 'TEHINI');
INSERT INTO `ville` VALUES (193, 'TENGRELA');
INSERT INTO `ville` VALUES (194, 'TIANKESSE');
INSERT INTO `ville` VALUES (195, 'TIAPOUM');
INSERT INTO `ville` VALUES (196, 'TIASSALE');
INSERT INTO `ville` VALUES (197, 'TIBBLI');
INSERT INTO `ville` VALUES (198, 'TIEBISSOU');
INSERT INTO `ville` VALUES (199, 'TIEME');
INSERT INTO `ville` VALUES (200, 'TIEMELEKRO');
INSERT INTO `ville` VALUES (201, 'TIE-N’DIEKRO');
INSERT INTO `ville` VALUES (202, 'TIENINGBOUE');
INSERT INTO `ville` VALUES (203, 'TIENKO');
INSERT INTO `ville` VALUES (204, 'TIMBE');
INSERT INTO `ville` VALUES (205, 'TIORO');
INSERT INTO `ville` VALUES (206, 'TORTIYA');
INSERT INTO `ville` VALUES (207, 'TOTRODOU');
INSERT INTO `ville` VALUES (208, 'TOUBA');
INSERT INTO `ville` VALUES (209, 'TOULEPLEU');
INSERT INTO `ville` VALUES (210, 'TOUMODI');
INSERT INTO `ville` VALUES (211, 'TOUMODI-SAKASSOU');
INSERT INTO `ville` VALUES (212, 'TRANSUA');
INSERT INTO `ville` VALUES (213, 'VAVOUA');
INSERT INTO `ville` VALUES (214, 'WOROFLA');
INSERT INTO `ville` VALUES (215, 'YAKASSE ATTOBROU');
INSERT INTO `ville` VALUES (216, 'YAMOUSSOUKRO');
INSERT INTO `ville` VALUES (217, 'ZAIBO');
INSERT INTO `ville` VALUES (218, 'ZEO');
INSERT INTO `ville` VALUES (219, 'ZOU');
INSERT INTO `ville` VALUES (220, 'ZOUGOUGBEU');
INSERT INTO `ville` VALUES (221, 'ZUENOULA');
Aidez moi je suis dans le besoin. Merci d'avance.

2 réponses

clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   75
 
salut,

si tes deux tables sont bien afficher dans ton PhpMyAdmin alors :
ton formulaire va envoyer vers ce fichier : recherche.php, et dans ce fichier, tu met :

<?php
$adresse_base_de_donnee = "";
$nom_d_utilisateur_mysql = "";
$mot_de_passe_mysql = "";
if(isset($_GET['categorie']) AND isset($_GET['ville']))
{
$categorie = $_GET['categorie'];
$ville = $_GET['categorie'];

//c'est la que tu te connecte à ta base de données pour vérifier
if($connexion_mysql = mysql_connect("$adresse_base_de_donnee", "$nom_d_utilisateur_mysql", "$mot_de_passe_mysql"))
{
mysql_select_db("afriqueplus");
$result = mysql_query("SELECT typecategorie FROM categorie WHERE typecategorie='$categorie' ");

while ($row = mysql_fetch_assoc($result))
{
print "l'adresse de " . $row[typecategorie'] . "est " $row['adresse'];
}

mysql_close($connexion_mysql);
}
}
else
{
exit("tous les champs n'ont pas été remplis !");
}
?>

il se peut qu'il y ait des érreurs
0
cleminute
 
Je te remercie pour ton aide mais j'ai fais comme tu m'a dit de faire mais ça ne marche pas toujours voici ce qu'il m'affiche comme message: Parse error: parse error, expecting `']'' in d:\program files\easyphp1-8\www\business_abidjan\resultatrechp.php on line 94. Aussi j'ai l'impression que ta requête est incomplète: $result = mysql_query("SELECT typecategorie FROM categorie WHERE typecategorie='$categorie' ");
de même je ne comprends pas cette ligne: $categorie = $_GET['categorie'];
$ville = $_GET['categorie']; Moi je souhaite que lorsqu'on selectionne une ville et un type de catégorie qu'il affiche tous les champs de la table categorie liés à la ville sélectionnée.
Je demande vraiment l'aide de tous, je suis dans le besoin. Merci d'avance.
0
clintm Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   75
 
$categorie = $_GET['categore'];

permet de ne pas toujours mettre $_GET['categorie'], il suffit de mettre $categorie,

mais ce n'est pas ca qui pose le pb

pour l'autre érreur :
http://www.phpfrance.com/tutoriaux/index.php/2005/03/08/19-interfacage-de-mysql-avec-php
www.php.net
0