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

Requêtes MySQL Discussion :

Requête pour afficher 3 tables ordonnées par leurs dates ?


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 45
    Points : 31
    Points
    31
    Par défaut Requête pour afficher 3 tables ordonnées par leurs dates ?
    Bonjour,

    voilà je cherche à réaliser une requête mais j'aurais besoin de vos conseils pour y arriver correctement...

    J'ai 3 tables dans une base de données :
    - articles
    - videos
    - livres

    Chacune d'elle contient :
    - titre (articles_titre, videos_titre, livres_titre)
    - date (articles_date, videos_date, livres_date)

    Je souhaiterais créer une page qui affiche ces différents contenus, mais en prenant la totalité des titres sur les 3 tables et en les ordonnant selon les différentes dates ! Une sorte de page type FLUX RSS en reprenant les 3 tables !

    Je ne sais pas quelle requête faire, surtout pour le ORDER BY et pour les différents echo sur ma page, je ne sais pas comment regrouper ces 3 tables dans une requête en les triant par leur date... Celà doit être plus compliquer qu'une simple requête ? Quelqu'un pour m'aider ???

    Merci d'avance ! Cordialement,

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    En cherchant j'ai réussi à pondre ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT titre, date
       FROM (
       SELECT articles_diffusion, articles_titre as titre, articles_date as date FROM articles WHERE articles_diffusion = "1"
       UNION
       SELECT videos_diffusion, videos_titre as titre, videos_date as date FROM videos WHERE videos_diffusion = "1"
       UNION
       SELECT livres_diffusion, livres_titre as titre, livres_date as date FROM livres WHERE livres_diffusion = "1"
       ) T
       ORDER BY date DESC
    Malheureusement il y a un bug que je n'explique pas, mon affichage se limite à 8 résultats... Et c'est bien la requête ci-dessus qui pose ce problème, notement la ligne UNION livres. Quand je l'enlève tous mes résultats s'affichent normalement, quand je la remets mes résultats sont limités à 8, j'capte pas pourquoi...

  3. #3
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    As-tu essayé UNION ALL ?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    Non, UNION ou UNION ALL, voilà que désormais ça ne marche même plus...

    Dès que je met cette ligne de code avec ma table LIVRES, rien ne s'affiche. Ou au pire, 8 résultats comme avant. Pourtant je ne vois pas où je ferais une erreur ? D'où peut venir ce type de problème ?

    Un UNION qui n'affiche rien ou un nombre de résultats limités alors que tout le code semble correct ? La base de donnée peut-elle créer se problème ? Pourquoi, comment, que faire ??

    Y'a-t-il un autre code qui permette de faire la réquete initiale présentée en haut du topic ?? J'comprends pas ce genre de bug pas cohérent !!

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    J'ai trouvé... C'était une lettre & qui était dans la base de donnée, car j'encodais ça pour une page XML...

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

Discussions similaires

  1. Requête pour afficher les résultats par lot
    Par devalender dans le forum SQL
    Réponses: 4
    Dernier message: 26/10/2011, 15h26
  2. Réponses: 3
    Dernier message: 25/01/2011, 17h04
  3. [MySQL] Requête pour afficher le contenu d'une table.
    Par HoWeR dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/01/2009, 07h04
  4. Lenteur de requête pour afficher une image
    Par bobobobo01 dans le forum WinDev
    Réponses: 2
    Dernier message: 20/07/2007, 15h22
  5. Réponses: 2
    Dernier message: 14/05/2007, 00h22

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