IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

"Simple" Formulaire de recherche multicritères


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut "Simple" Formulaire de recherche multicritères
    Bonjour

    Sur un simple formulaire à liste déroulante, je souhaiterais faire un choix en fonction de la civilite($civilite) et de la region($cp) de la personne recherchée.

    Le formulaire interroge une base MySql

    Voici 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    	  <?  
     
    	// connexion à la base
    $db = mysql_connect('sql.toto.com','toto','pwd')  or die('Erreur de connexion '.mysql_error()); 
     
     
    	// sélection de la base 
     mysql_select_db('toto',$db)  or die('Erreur de selection '.mysql_error()); 
     
     
     
     
     
     
     
    	/// Définition des variables 
     
    $civilite=$_POST['civilite'];
    $cp=$_POST['cp'];
     
     
     
    	//// Liste des requetes 
     
             if ($civilite=="" AND $cp=="" )
             {
             $reponse = mysql_query("SELECT * FROM membre "." ORDER BY id" );
     
     
             }
     
             elseif ($civilite=="" )
             {
             $reponse = mysql_query("SELECT * FROM membre WHERE cp='$cp' "." ORDER BY id" ) ;
     
     
             }
     
             elseif ($cp=="" )
             {
             $reponse = mysql_query("SELECT * FROM membre WHERE civilite='$civilite' "." ORDER BY id" );
     
     
             }
     
             else
             {
             $reponse = mysql_query("SELECT * FROM membre WHERE civilite='$civilite' AND cp='$cp' "." ORDER BY id" );
     
     
             }
     
    	$resultat = mysql_fetch_array($reponse);
    	echo $resultat;
     
     
    ?>
    Mais le resltat est vide. Rien ne s'affiche.
    Merci de votre aide.
    Yann

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    salut,
    le probleme viens du fait que tu ne lui dis pas d'afficher quoi que ce soit ^^
    il faut que tu prennes chaque ligne de ton resultat et que tu affiche la colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $num_rows=mysql_num_rows($response);//recupere le nombre de lignes pour ta requete
    for($i=1;$i<=$num_rows;$i++)
    {
    $row=mysql_fetch_array($reponse);//on recupere la ligne suivante de la requete
    echo $row["ta_colonne_1"];//civilite dans ton cas
    echo $row["ta_colonne_2"];//cp dans ton cas
    echo '<br />';
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Pas mieux
    J'ai donc supprimé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //$resultat = mysql_fetch_array($reponse);
    	//echo $resultat;
    et ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $num_rows=mysql_num_rows($response);//recupere le nombre de lignes pour ta requete
    for($i=1;$i<=$num_rows;$i++)
    {
    $row=mysql_fetch_array($reponse);//on recupere la ligne suivante de la requete
    echo $row["civilite"];
    echo $row["cp"];
    echo '<br />';
    }
    Mais rien ne s'affiche pour autant !

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 452
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 452
    Points : 4 601
    Points
    4 601
    Par défaut
    bah personellement les "." dans tes requetes me perturbent..
    dans tes if elseif , fais un echo de ta requete generee et copie/colle la directement dans mysql
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. [MySQL] Problème de simple quote dans le champ de recherche
    Par mesken dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 29/03/2012, 10h05
  2. Formulaire de recherche multicritères
    Par dolf13 dans le forum Langage
    Réponses: 10
    Dernier message: 20/06/2006, 23h24
  3. Formulaire de recherche multicritères
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 09h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo