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 :

[SQL] Comment rechercher une donnée selon un critère !


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut [SQL] Comment rechercher une donnée selon un critère !
    Bonjour tout le monde ,

    Voilà j'ai besoin de votre aide pour résoudre un de mes problémes !

    J'ai crée un site web (fictif => projet de cours) et je dois faire un formulaire de recherche => Pièce jointe 13161 qui permettre a l'utilisateur de chercher des hotels par leur localisation mais je ne sais pas comment faire... Je ne connais pas le code qui permettera d'interroger la base de donnée par rapport a un ou plusieur critéres (ex: 54000 aucun hotel ; 57000 hotel YuL - hotel PrOkI). Je ne pense pas que sa soit une simple requête SELECT !

    merci de bien vouloir m'aider !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    si c'est possible par requete select et meme c'est comme ça qu'il faut procéder !

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $requete="select * from hotels where localisation='".$localisation."' order by nom asc";
    $exe=mysql_query($requete);
    while($liste_hotel=mysql_fetch_array($exe,MYSQL_ASSOC)){
    echo $liste_hotel[nom].'<br>';
    }
    Ensuite tu peux meme rajouter d'autres conditions comme la région (au lieu du département) en ajoutant des clauses where genre where localisation='".$localisation."' and region='".$region."' ; etc...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Merci raidman pour ta rapidité

    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
    <?
     
    //Connexion au serveur MySQL
     
    $db=mysql_connect("localhost","root","") or die ("Erreur de connexion".mysql_error());
     
    //Ouverture de la base projet
     
    mysql_select_db("projet",$db) or die ("Erreur de connexion à la base projet");
     
    $requete="select * from GITE where NoGite='".$NoGite."'";
     
     $sql=mysql_query($requete) or die ("Erreur requete sql !"); 
     
     while($liste_gite=mysql_fetch_array($sql,MYSQL_ASSOC))
     { 
     echo $liste_gite[NoGite].'<br>'; 
     }
    //Fermeture de la connexion à MySQL
     
    mysql_close();
     
    ?>
    ce ne sont pas des hotels mais des gîtes , lol désolé !
    Sa ne marche pas , j'ai un messa

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Désolé , j'ai envoyer ma réponse trop rapidement !

    Je voulais donc dire j'ai un message d'érreur qui me dis que la requête n'est pas bonne .

    MERCI

  5. #5
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    Salut,

    si tu as phpMyAdmin d'installé sur ton serveur, il serait plus facile pour toi de tester ta requête directement dessus.
    Comme ça tu verrais directement que si quelque chose bug, ça ne vient pas de ton code php

    Peux-tu donner plus d'infos sur l'erreur qu'il te renvoi ?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Par défaut
    Tape ta requete sous ton interface PHPMyAdmin.

    Souvent les problèmes viennent des quotes.

    Mais ici, a quoi est égal ton $NoGite ??

    Essaye peut-etre :

    where NoGite like ou = \"{$_POST[ton_champs]}\"

    ou where NoGite like ou = \"{$_GET['ton_champs]}\"

  7. #7
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    ne fait ce que kpn59 a dit que pour tes tests, après il est vitale pour ton appli de protéger tes variables de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $taVarNonProtegee=$_POST[ton_champs]
    $taVarProtegee=mysql_real_escape_string($taVarNonProtégée);

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Tu crois que je dois proteger mes variables , sa restera un site fictif (projet de cours)

    NoGite correspond au numéro de gite , je pensais faire une recherche par numéro de gîte .

    Voila l'érreur que m'indique mon navigateur :
    Notice: Undefined variable: NoGite in c:\program Files\easyphp1-8\www\projet gdv\recherche.php on line 19
    Erreur requete sql !

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Par défaut
    Voici par la même occasion mon formulaire ( formulaire de recherche.html)
    Code HTML : 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
     <form method="POST" action="recherche.php">
        <p><h1>Rechercher un G&icirc;te</h1></p>
        <br />
        <br />
     
             Rechercher par :<br />
     
                 Ville:
                 <input type="text" name="NoGite" value=""/> (exemples: Nancy , Cannes etc...)
                 <br />
     
        <br />
        <input type="submit"value="Rechercher"/>
        <input type="submit"value="Retour"/>
     
      </body>
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Recherche de donnés selon un critère dans un autre classeur
    Par AFcrv dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2014, 16h06
  2. codage vba pour rechercher une valeur selon 2 critères
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2011, 21h29
  3. Comment rechercher une donnée dans un base ?
    Par tibofo dans le forum Administration
    Réponses: 7
    Dernier message: 25/03/2009, 23h02
  4. Réponses: 1
    Dernier message: 30/07/2007, 19h37

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