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 :

Aide jointure table [PDO]


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
    Janvier 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 26
    Par défaut Aide jointure table
    Bonjour à tous

    J'ai une bdd (MySQL sous PDO) qui contient plusieurs tables avec des colonnes différentes les unes des autres sauf la date d'ajout d'un élément et la colonne valid qui st communes.

    Je souhaite sélectionner parmi l'ensemble les tables les dix éléments les plus récents.

    Étant donné que je débute Voila ou j'en suis, sans résultat (print_r donne un tableau tableau vide):

    prepare("SELECT * FROM table1 UNION JOIN table2 UNION JOIN table3 UNION JOIN table4 WHERE table1.valid=1 AND table2.valid=1 AND table3.valid=1 AND table4.valid=1 ORDER BY table1.date_add, table2.date_add, table3.date_add, table4.date_add DESC LIMIT ?, ? ");
    Je précise que j'ai bien "bindé" les valeurs pour le LIMIT et que j'ai essayé une bonne partie des JOIN (et sans biensur), sans succès .

    Merci par avance.

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Bonjour,
    tu te trompe sur la syntaxe essaie plutot ça :

    Code sql : 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
    (
    	SELECT * FROM table1 
     
     
    )
    UNION
    (
    	SELECT * FROM table2
     
    )
    UNION
    (
    	SELECT * FROM table3
     
    )
    UNION
    (
    	SELECT * FROM table4
     
    )
    WHERE valid = 1
    ORDER BY date_add DESC
    LIMIT 0,10

    De plus il est préférable d'aliasser les champs dans le SELECT et leur donner le même nom à la place du *
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    At tu entendu parlé de phpMyAdmin pour tester tes requêtes et gérer tes bases de données ?

    Pour débuter avec les jointures

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 26
    Par défaut Merci
    J'utilise phpMyAdmin effectivement et j'ai lu le tuto avant de poster.

    Le truc c'est que mes tables ont des structures differentes et que
    je une erreur de syntaxe en utilisant la requête que tu me proposes
    RideKick.

    Le truc c'est que je suis sous PDO et que peut-être le pb vient de là.
    Je test et je vous tiens au courant.

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par RideKick Voir le message
    De plus il est préférable d'aliasser les champs dans le SELECT et leur donner le même nom à la place du *
    Citation Envoyé par lounislounis Voir le message
    Le truc c'est que mes tables ont des structures differentes et que
    je une erreur de syntaxe en utilisant la requête que tu me proposes
    RideKick.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 26
    Par défaut ??
    J'ai testé en nommant, l'erreur reste, ca me met:
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE valid=1 ORDER BY date_add DESC LIMIT 0, 10
    La syntaxe est exactement la même que ce que tu as posté.

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Dans ce cas intègre le WHERE dans les requêtes
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

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

Discussions similaires

  1. Jointure tables inexistantes
    Par ballmaster dans le forum 4D
    Réponses: 1
    Dernier message: 18/06/2007, 16h38
  2. Jointures Tables Sap
    Par Pierren dans le forum SAP
    Réponses: 6
    Dernier message: 19/01/2007, 09h09
  3. Aide CSS: table, paragraphes et print.css
    Par seb.ch dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/10/2006, 12h02
  4. Jointure tables quelques explications
    Par kokumbo dans le forum Hibernate
    Réponses: 2
    Dernier message: 13/10/2006, 17h09
  5. visualiser jointures tables
    Par lolothom dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/09/2006, 15h06

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