Formulaire de recherche multi-critère

Formulaire de recherche multi-critère - PHP - Programmation

Marsh Posté le 26-03-2008 à 09:44:31    

Bonjour a tous.
Je voudrais créer un formulire de recherche comme sur ce site " http://www.etudiant.ma/3emecycle.php" exactement la même. mais je sais pas par quoi commencer. Je n'ai pas vraiment de notion en php. je me debrouille mais là je suis planté completement.
Merci de m'aider

Reply

Marsh Posté le 26-03-2008 à 09:44:31   

Reply

Marsh Posté le 27-03-2008 à 00:25:15    

Déjà, l'url que tu donnes n'existe pas.
 
Ensuite, il faut vraiment commencer par t'intéresser à PHP au moins un petit peu pour faire ça, faut que tu comprennes comment faire passer des variables d'une page à une autre, et bien sûr comment créer un formulaire, avec un peu de recherche google, c'est hyper facile de trouver ça.
 
Tu y viendra assez vite et c'est pas sorcier, surtout si tu as quelques connaissances en programmation, sinon demande à un proche qui s'y connait de te le faire.

Reply

Marsh Posté le 27-03-2008 à 01:11:44    

pour l'url, faut enlever le " à la fin ;)


---------------
oui oui
Reply

Marsh Posté le 31-03-2008 à 21:53:22    

Oui c'est exact pour le lien art_dupond Bien merci. Aussi à Fused Merci du conseil . j'ai Besoin d'aide et ne m'en sort pas seul

Reply

Marsh Posté le 01-04-2008 à 11:23:43    

A quel niveau tu bloques ?
 
En gros, tu as un formulaire qui envoie ses données sur la page renseignée par 'action' dans <form action="traitement.php">  
 
Dans traitement.php, tu récupères les données, dont les champs de sélection de ton formulaire, via la variable $_POST
 
Enfin, tu fabriques une requête en insérant les variables correspondant aux critères.


---------------
oui oui
Reply

Marsh Posté le 06-04-2008 à 17:50:00    

je vois, mais la requête!?? ça aussi c'est autre ptroblème pour moi

Reply

Marsh Posté le 07-04-2008 à 03:58:20    

Voici codes le code du formulaire:
 
<form name="recherche" method="post" action="resultat.php">
             
  <table border="0" width="461" align="center">
    <tr>  
      <td width="122"> <p><b><font face="Verdana" size="2">Formation</font></b></p></td>
      <td width="166">
      <label>
         <font face="Verdana">
         <input name="radio" type="radio" value="fs" checked><font size="2">  
  Supérieure</font></font></label></td>
      <td width="160">
      <font size="2" face="Verdana">&nbsp;</font><label><font face="Verdana"><font size="2">
  </font>
         <input type="radio" name="radio" value="fp"><font size="2">
              Professionnelle</font></font></label><font size="2" face="Verdana">
  </font>
         </td>
      </tr>
    <tr>  
      <td width="122"> <p><b><font face="Verdana" size="2">Ville</font></b></p></td>
      <td width="330" colspan="2"> <p>  
          <font face="Verdana">
   <select size="1" name="ville" id="ville">
   <option selected></option>
   <option value="Abidjan">Abidjan</option>
   <option value="Bouake">Bouaké</option>
   <option value="Korogho">Korogho</option>
   <option value="Abengourou">Abengourou</option>
   <option value="Gagnoa">Gagnoa</option>
   <option value="San-pedro">San-pedro</option>
   <option value="Man">Man</option>
   </select><font size="2"> </font></font>
        </p></td>
    </tr>
    <tr>  
      <td width="122"> <p><b><font face="Verdana" size="2">Filière</font></b></p></td>
      <td width="330" colspan="2"> <p>  
          <font size="2" face="Verdana">
  <select size="1" name="filiere" id="filiere">
    <option selected></option>
  <option value="f1">COMMERCE- GESTION- ADMINISTRATION</option>
  <option value="f2">COMMUNICATION- PUBLICITE</option>
  <option value="f3">FINANCES COMPTABILITE</option>
  <option value="f4">FONCTION PUBLIQUE</option>
  <option value="f5">INFORMATIQUE</option>
  <option value="f6">LANGUES- TRADUCTION</option>
  <option value="f7">MILITAIRE ET PARA-MILITAIRE</option>
  <option value="f8">PROFESSIONS A CARACTERE SOCIAL</option>
  <option value="f9">RESEAUX ET TELECOMMUNICATION- NTIC</option>
  <option value="f10">TEXTILE STYLISME- MODELISME</option>
 </SELECT>
 
   </select> </font>
        </p></td>
    </tr>
    <tr>  
      <td width="122"> <p><b><font face="Verdana" size="2">Durée</font></b></p></td>
      <td width="166"> <p>  
          <font size="2" face="Verdana">
    <select size="1" name="duree" id="duree">
    <option selected></option>
   <option value="t1">1</option>
   <option value="t2">2</option>
   <option value="t3">3</option>
   <option value="t4">4</option>
   <option value="t5">5</option>
   <option value="t6">6</option>
   <option value="t7">7</option>
   <option value="t8">8</option>
   <option value="t9">9</option>
   </select>&nbsp; Année(s)</font></p></td>
      <td width="160"> &nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2"><font face="Verdana">
  <input type="submit" name="Envoyer" value="Envoyer" onClick="this.value='Envoi en cours ...'" style="border: 1px solid #000080; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF"></font></td>
    </tr>
  </table>
            </form>
 
===================================================================================
 
 
lla table de la base:  
 
 
-- phpMyAdmin SQL Dump  
-- version 2.6.1  
-- http://www.phpmyadmin.net  
--  
-- Serveur: localhost  
-- Généré le : Lundi 07 Avril 2008 à 02:00  
-- Version du serveur: 4.1.9  
-- Version de PHP: 4.3.10  
--  
-- Base de données: `eeci`  
--  
 
-- --------------------------------------------------------  
 
--  
-- Structure de la table `etablis`  
--  
 
CREATE TABLE `etablis` (  
  `id` int(11) NOT NULL auto_increment,  
  `formation` varchar(50) NOT NULL default '',  
  `filiere` varchar(50) NOT NULL default '',  
  `etablissement` varchar(50) NOT NULL default '',  
  `ville` varchar(90) NOT NULL default '',  
  `tel` int(11) NOT NULL default '0',  
  `email` varchar(50) NOT NULL default '',  
  `site_web` varchar(90) default NULL,  
  `duree` int(11) NOT NULL default '0',  
  PRIMARY KEY  (`id`),  
  FULLTEXT KEY `formation` (`formation`)  
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;  
 
--  
-- Contenu de la table `etablis`  
--  
 
INSERT INTO `etablis` VALUES (1, 'superieur', 'Commerce - Gestion - Administration', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (2, 'superieur', 'Commerce - Gestion - Administration', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (3, 'superieur', 'Commerce - Gestion - Administration', 'UFRMI', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (4, 'superieur', 'Commerce - Gestion - Administration', 'UIGB O', 'Abidjan', 0, '', '', 5);  
INSERT INTO `etablis` VALUES (5, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (6, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (7, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 5);  
INSERT INTO `etablis` VALUES (8, 'superieur', 'Communication- Publicité', 'ISTC', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (9, 'superieur', 'Communication- Publicité', 'ISTC', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (10, 'superieur', 'Finances Comptabilité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (11, 'superieur', 'Finances Comptabilité', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (12, 'superieur', 'Informatique', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (13, 'superieur', 'Informatique', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 5);  
INSERT INTO `etablis` VALUES (14, 'superieur', 'Informatique', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (15, 'superieur', 'Informatique', 'GROUPE LOKO', 'Abidjan', 0, '', '', 5);  
INSERT INTO `etablis` VALUES (16, 'superieur', 'Informatique', 'UFRMI', 'Abidjan', 0, '', '', 5);  
INSERT INTO `etablis` VALUES (17, 'superieur', 'Informatique', 'UIGB', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (18, 'superieur', 'Réseaux et Télécommunication- NTIC', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (19, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (20, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 3);  
INSERT INTO `etablis` VALUES (21, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (22, 'superieur', 'Réseaux et Télécommunication- NTIC', 'UIGB', 'Abidjan', 0, '', '', 4);  
INSERT INTO `etablis` VALUES (23, 'professionnelle', 'Fonction Publique', 'ECOLE NATIONALE DE POLICE', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (24, 'professionnelle', 'Fonction Publique', 'INFS', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (25, 'professionnelle', 'Langues- Traduction', 'AMERICAN CORNER-CIRES', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (26, 'professionnelle', 'Langues- Traduction', 'GOETHE INSTITUT', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (27, 'professionnelle', 'Militaire et Para-militaire', 'ECOLE NATIONALE DE POLICE', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (28, 'professionnelle', 'MProfessions à caractère social', 'Institut de la formation sociale', 'Abidjan', 0, '', '', 2);  
INSERT INTO `etablis` VALUES (29, 'professionnelle', 'Textile stylisme- Modélisme', 'MICHEL YAKICE', 'Abidjan', 0, '', '', 2);  
 
 
 
 
 
===============================================================================  
 
Voici mon Souhait est le suivant:  
 
- Renseigner par formulaire les differents champ de ma table  
- Faire une recherche muticritère avec liste déroulante  
- Affichage de resultat en liste de nom faisant objet de lien vers des pages donnants plus d'info


Message édité par Frandzd le 07-04-2008 à 04:14:46
Reply

Marsh Posté le 07-04-2008 à 04:01:26    

lla table de la base:
 
 
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--  
-- Serveur: localhost
-- Généré le : Lundi 07 Avril 2008 à 02:00
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
--  
-- Base de données: `eeci`
--  
 
-- --------------------------------------------------------
 
--  
-- Structure de la table `etablis`
--  
 
CREATE TABLE `etablis` (
  `id` int(11) NOT NULL auto_increment,
  `formation` varchar(50) NOT NULL default '',
  `filiere` varchar(50) NOT NULL default '',
  `etablissement` varchar(50) NOT NULL default '',
  `ville` varchar(90) NOT NULL default '',
  `tel` int(11) NOT NULL default '0',
  `email` varchar(50) NOT NULL default '',
  `site_web` varchar(90) default NULL,
  `duree` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `formation` (`formation`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;
 
--  
-- Contenu de la table `etablis`
--  
 
INSERT INTO `etablis` VALUES (1, 'superieur', 'Commerce - Gestion - Administration', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (2, 'superieur', 'Commerce - Gestion - Administration', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (3, 'superieur', 'Commerce - Gestion - Administration', 'UFRMI', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (4, 'superieur', 'Commerce - Gestion - Administration', 'UIGB O', 'Abidjan', 0, '', '', 5);
INSERT INTO `etablis` VALUES (5, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (6, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (7, 'superieur', 'Communication- Publicité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 5);
INSERT INTO `etablis` VALUES (8, 'superieur', 'Communication- Publicité', 'ISTC', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (9, 'superieur', 'Communication- Publicité', 'ISTC', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (10, 'superieur', 'Finances Comptabilité', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (11, 'superieur', 'Finances Comptabilité', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (12, 'superieur', 'Informatique', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (13, 'superieur', 'Informatique', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 5);
INSERT INTO `etablis` VALUES (14, 'superieur', 'Informatique', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (15, 'superieur', 'Informatique', 'GROUPE LOKO', 'Abidjan', 0, '', '', 5);
INSERT INTO `etablis` VALUES (16, 'superieur', 'Informatique', 'UFRMI', 'Abidjan', 0, '', '', 5);
INSERT INTO `etablis` VALUES (17, 'superieur', 'Informatique', 'UIGB', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (18, 'superieur', 'Réseaux et Télécommunication- NTIC', 'GROUPE LOKO', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (19, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (20, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 3);
INSERT INTO `etablis` VALUES (21, 'superieur', 'Réseaux et Télécommunication- NTIC', 'ITES 2 PLATEAUX', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (22, 'superieur', 'Réseaux et Télécommunication- NTIC', 'UIGB', 'Abidjan', 0, '', '', 4);
INSERT INTO `etablis` VALUES (23, 'professionnelle', 'Fonction Publique', 'ECOLE NATIONALE DE POLICE', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (24, 'professionnelle', 'Fonction Publique', 'INFS', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (25, 'professionnelle', 'Langues- Traduction', 'AMERICAN CORNER-CIRES', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (26, 'professionnelle', 'Langues- Traduction', 'GOETHE INSTITUT', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (27, 'professionnelle', 'Militaire et Para-militaire', 'ECOLE NATIONALE DE POLICE', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (28, 'professionnelle', 'MProfessions à caractère social', 'Institut de la formation sociale', 'Abidjan', 0, '', '', 2);
INSERT INTO `etablis` VALUES (29, 'professionnelle', 'Textile stylisme- Modélisme', 'MICHEL YAKICE', 'Abidjan', 0, '', '', 2);
 
 
 
 
 
===============================================================================
 
Voici mon Souhait est le suivant:
 
- Renseigner par formulaire les differents champ de ma table
- Faire une recherche muticritère avec liste déroulante
- Affichage de resultat en liste de nom faisant objet de lien vers des pages donnants plus d'info


Message édité par Frandzd le 07-04-2008 à 04:13:14
Reply

Marsh Posté le 07-04-2008 à 20:06:10    

$_POST["ville"] contiendra bien la ville.
 
Par contre, il faut que tu changes les valeurs de tes filières, soit dans le formulaire, soit dans la table parce qu'elles ne correspondent pas (dans le formulaire, les values sont de la forme f1... et dans ta table, il y a le nom complet).
 
après, il faut mettre ces valeurs dans ta requête :
 

Code :
  1. 'SELECT les_champs_dont_tu_as_besoin FROM `etablis` WHERE ville = "'.$_POST['ville'].'" ...';


---------------
oui oui
Reply

Marsh Posté le 08-04-2008 à 01:45:32    

Ok merci,  
Ou dois-je mettre ce code et quelle fonction correspond au mieux.  
Après $_POST['ville'].'", dois-je remplacer les ... par $_POST[filiere]
'SELECT formation,ville,etablissement,duree FROM `etablis` WHERE ville = "'.$_POST['ville'].'", ...';

Reply

Marsh Posté le 08-04-2008 à 01:45:32   

Reply

Marsh Posté le 08-04-2008 à 11:12:17    

un petit lien où ce sera mieux expliqué que par moi :)

 

http://www.siteduzero.com/tuto-3-4 [...] ml#part_20


Message édité par art_dupond le 08-04-2008 à 11:12:25

---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed