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 :

Joindre deux requêtes [MySQL]


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
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut Joindre deux requêtes
    Bonjour,

    je bute depuis quelque temps pour joindre deux requête, pour le moment j'ai ceci:

    $requete = mysql_query('SELECT * FROM table1 ORDER BY time DESC LIMIT 0, 5') or die(mysql_error());

    $requete = mysql_query('SELECT * FROM table2 ORDER BY time DESC LIMIT 0, 5') or die(mysql_error());

    Si c'est possible je voudrais que ces requête n'en face qu'une.

    Merci de vos réponse! =)

  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
    Par défaut
    Utilise UNION.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    Merci pour ta réponse rapide, mais UNION ne fonctionne pas dans mon cas car il y a une donnée dans chaque table qui doit être différencier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $requete = mysql_query('SELECT id_n, createur, contenu, time FROM table1 ORDER BY time DESC LIMIT 0, 5') or die(mysql_error());
     
     
    $requete = mysql_query('SELECT id_t, createur, contenu, time FROM table2 ORDER BY time DESC LIMIT 0, 5') or die(mysql_error());
    Si je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete_t = mysql_query('SELECT id_n, createur, contenu, time FROM table1
    UNION
    SELECT id_t, createur, contenu, time FROM table2 ORDER BY time DESC LIMIT 0, 5') or die(mysql_error());
    et que je veux utiliser id_t j'ai cette erreur "Undefined index: id_t"

    Schéma de mes tables:
    table1
    id
    id_n
    createur
    contenu
    time

    table2
    id
    id_t
    createur
    contenu
    time

  4. #4
    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
    Par défaut
    Il n'y a id_tutoriel ni dans requête ni dans ta table.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    C'est id_t j'ai modifié désolé

  6. #6
    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
    Par défaut
    tu peux ajouter une valeur manuelle pour savoir si les lignes viennent de la table 1 ou de la table2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id_n as id, createur, contenu, time, 'table1' as origine FROM table1
    UNION
    SELECT id_t as id, createur, contenu, time, 'table2' as origine FROM table2
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Joindre deux requêtes
    Par Lobby dans le forum Requêtes
    Réponses: 16
    Dernier message: 17/08/2010, 23h15
  2. Réponses: 1
    Dernier message: 16/09/2009, 13h30
  3. joindre deux tables créées par requêtes
    Par bernard6 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/04/2007, 11h27
  4. Réponses: 4
    Dernier message: 11/10/2005, 10h17
  5. [VB6]Joindre deux recordsets en un seul
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 11/06/2003, 21h06

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