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 sql avec champs inexistants [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut Requête sql avec champs inexistants
    Bonjour à tous,

    Je travaille sur prestashop et j'ai une fonction qui doit me retourner des infos sur les produits.

    Voici ma fonction contenant la requête sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php public static function getInfosProduct() {
            $query = 'SELECT ps_product.price, ps_product_lang.name AS namePdt, ps_product_lang.description, ps_product_lang.description_short,
    ps_supplier.name AS nameSupplier, ps_supplier.id_supplier AS idSup, ps_product.id_product AS idPdt
    FROM ps_product_lang, ps_product, ps_product_supplier, ps_supplier
    WHERE ps_product_lang.id_product = ps_product.id_product
    AND ps_product.id_product = ps_product_supplier.id_product
    AND ps_product_supplier.id_supplier = ps_supplier.id_supplier'; //LIMIT 0,3
            return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
        } ?>
    Mon problème se situe au niveau du ps_supplier.name où certains produits n'ont pas de fournisseur donc de ps_supplier.name. Cette fonction ou cette requête me renvoi bien les informations des produits mais ceux où il n'y a pas de ps_supplier.name beh les produits ne s'affichent pas. J'aimerai que ces produits s'affichent même s'ils n'ont pas de fournisseur ..

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ne fais pas tes jointures avec le WHERE et utilise LEFT JOIN lorsque les données de la table de gauche peuvent ne pas être présentes dans la table de droite
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ps_product.price, ps_product_lang.name AS namePdt, ps_product_lang.description, ps_product_lang.description_short,
    ps_supplier.name AS nameSupplier, ps_supplier.id_supplier AS idSup, ps_product.id_product AS idPdt
    FROM ps_product_lang
    JOIN ps_product ON ps_product_lang.id_product = ps_product.id_product
    LEFT JOIN ps_product_supplier ON ps_product.id_product = ps_product_supplier.id_product
    LEFT JOIN ps_supplier ON ps_product_supplier.id_supplier = ps_supplier.id_supplier
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 199
    Points : 71
    Points
    71
    Par défaut
    Impeccable, ça marche ! Merci pour la réponsé rapide.

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

Discussions similaires

  1. [MySQL] Requête sql avec un champ imaginaire ?
    Par nolookpass8 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/01/2014, 09h48
  2. Requête SQL avec champs variable
    Par yannydu dans le forum Débuter
    Réponses: 14
    Dernier message: 21/04/2009, 12h41
  3. [WD7.5] Requête SQL avec champ de saisie
    Par paupiau dans le forum WinDev
    Réponses: 4
    Dernier message: 24/04/2008, 12h44
  4. [SQL] Requête SQL avec champ identique
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/10/2007, 20h53
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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