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 :

Requête de recherche dans la BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut Requête de recherche dans la BDD
    Bonjour,
    J'ai une requête qui permet de rechercher selon des critères dans la BDD et retour le résultat à afficher. le souci est que la requête marche pas lorsqu'elle faire à partir des variable enoyées à la fonction de recherche. Mais quand je saisi directement dans la fonction les valeurs des variable tous est bon.
    Après 2h de je ne comprend pas toujours à est le due le problème.

    Fonction recherche avec variable qui ne renvoie rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!empty($_GET['article'])) {
    	$list = searchArt2('code', $_GET['article'], $_SESSION['lang'], $_SESSION['lieu']);
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function searchArticle($filter, $info, $lang, $lieu) {
       $q = 'SELECT * FROM article WHERE '.$filter.' = "'.$info.'" AND lang = "'.$lang.'" AND lieu ="'.$lieu.'"' ;
       $q = $connect_db->query($q);
       $q->setFetchMode(PDO::FETCH_OBJ);
       $list = $q->fetchAll();
     
       return $list;
    }
    Par contre cette requête fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function searchArticle($filter, $info, $lang, $lieu) {
       $q = 'SELECT * FROM article WHERE code = "prg" AND lang = "fr" AND lieu = "ld"' ;
       $q = $connect_db->query($q);
       $q->setFetchMode(PDO::FETCH_OBJ);
       $list = $q->fetchAll();
     
       return $list;
    }
    NB: voici le contenu de la requête qui marhce pas :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM article WHERE code = "pgr" AND lang = "fr" AND lieu ="ld"

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ta requête est fausse, vérifie tes quote et double quote:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $q = 'SELECT * FROM article WHERE '.$filter.' = "'.$info.'" AND lang = "'.$lang.'" AND lieu ="'.$lieu.'"' ;
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    J'ai cherché mais je ne vois pas quelle quote ou double quotes n'est pas bonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $q = 'SELECT * FROM article WHERE '.$filter.' = "'.$info.'" AND lang = "'.$lang.'" AND lieu ="'.$lieu.'"' ;
    $filter est une propriété de la table article
    $info est la valeur (chaîne de caractère)
    $lang est la valeur (chaîne de caractère)
    $lieu est la valeur (chaîne de caractère)

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Fais un echo pour afficher ta requête et vérifier qu'elle est correcte.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    Résultat du echo :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM article WHERE code = "pgr" AND lang = "fr" AND lieu = "ld"

    ces même valeurs de variables quand les insert directement dans la requête il n y a pas de souci la requête renvoie les données.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    J'ai fini par trouver le problème qui se posait au niveau de mes codes. les valeurs des variables ne correspondaient avec celle de table.

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

Discussions similaires

  1. [MySQL] Créer moteur de recherche dans la BDD
    Par Little_flower dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/12/2007, 12h40
  2. Requête a/ recherche dans plusieurs champs de la table
    Par 810mcu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/11/2007, 20h05
  3. Recherche dans une BDD
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/02/2007, 08h16
  4. Requête de recherche dans un forum
    Par Gwipi dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/05/2006, 11h38
  5. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03

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