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 :

Jointures..


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut Jointures..
    Bonjour, j'ai cru voir que ce sujet a souvent était abordé, j'ai suivi plusieurs tutos, dont celui de Developpez.com mais je n'y ai pas vraiment mon bonheur.

    Je souhaite faire un forum et je dois sélectionner deux tables pour afficher le dernier message de chaque forum (si un sujet est crée il faut le marqué, idem si on poste une réponse)

    J'ai pour cela fait cette requete :

    /* On ressort le dernier message posté pour chaque forum */
    $requete_dernier_msg = mysql_query("SELECT reponses.time, sujet.time FROM sujet LEFT JOIN reponses ON sujet.id=reponses.id_sujet WHERE reponses.id_forum='". $donnees['id'] ."' ORDER BY sujet.time DESC LIMIT 0,1") or die(mysql_error()); // Requête
    while($donnees_dernier_msg = mysql_fetch_array($requete_dernier_msg))
    {
    echo date('d/m/Y \à H\hi', $donnees_dernier_msg['time']);
    }
    Mais elle ne prend pas en compte la table sujet. C'est à dire que si je poste un nouveau sujet, il n'est pas considéré comme nouveau message.

    Si quelqu'un pourrait m'aider, ce serait génial, car là depuis plus de 20heures je suis là dessus.

    Cordialement,
    Jash

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    alors, plusieurs points :

    0°) Bienvenue sur les Forum de Développez.com

    1°) Tu es sur le forum MYSQL pour un problème pûrement MySQL, donc pas de code PHP des requête MYSQL ok, mais pas de PHP ^^

    2°) Est-ce qu'on peut avoir la structure de tes tables ?

    3°) Sur quelle version de MySQL tu travailles ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Merci

    A ce que je sache, je bloque sur une requete MySQL, pas sur du php

    Ma table sujet :

    CREATE TABLE `sujet` (
    `id` int(11) NOT NULL auto_increment,
    `id_forum` int(11) NOT NULL default '0',
    `titre` varchar(255) NOT NULL default '',
    `contenu` text NOT NULL,
    `auteur` varchar(255) NOT NULL default '',
    `time` int(11) NOT NULL default '0',
    KEY `id` (`id`)
    ) ENGINE=MyISAM


    Ma table reponses :

    CREATE TABLE `reponses` (
    `id` int(11) NOT NULL auto_increment,
    `id_sujet` int(11) NOT NULL default '0',
    `id_forum` int(11) NOT NULL default '0',
    `contenu` text NOT NULL,
    `auteur` varchar(255) NOT NULL default '',
    `time` int(11) NOT NULL default '0',
    KEY `id` (`id`)
    ) ENGINE=MyISAM


    Je travaille avec la version 4.1.10a il me semble
    (enfait j'y fais pas trop attention.. )

    Cordialement,
    Jash

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par Jashugal
    A ce que je sache, je bloque sur une requete MySQL, pas sur du php
    C'est bien ce que je dis mais le code que tu as mis est du PHP

    sinon pense à utiliser la balise [code] (je pense aux créations de tables )


    Si j'ai bien compris, tu veux le dernier message de chaque forum et les messages sans réponses ne sont pas pris en compte...

    A mon avis, tu devrait revoir la modélisation de tes données...

    plutôt que de faire une table sujet avec les 1er message
    et une table réponse,

    tu devrais faire un table sujet
    et une table messages
    la différence ? les 1er messages seraient eux-aussi dans messages, et plus dans sujet, ça simplifierais ta requête
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Si j'ai bien compris, tu veux le dernier message de chaque forum et les messages sans réponses ne sont pas pris en compte...
    Je veux que tout les derniers messages soient pris en compte, que ce soit une réponse ou un nouveau sujet ! Avec ette requete il ne prend pas les nouveaux sujets. Si j'ai fais cette "modélisation" c'est pour pouvoir m'en sortir encore après, et rajouter des améliorations plus facilement (je ne suis pas un expert et je fais ça pour m'entrainer).

    Je n'ai pas trouvé les balises pour le code, je suis désolé (ah ça y est c'est le "#")

    Cordialement,
    Jash

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par Jashugal
    Si j'ai fais cette "modélisation" c'est pour pouvoir m'en sortir encore après, et rajouter des améliorations plus facilement
    Justement, je pense que le changement que je te propose t'aidera plus

    tu auras plus souvent besoin d'ajouter des choses qui ont traits à toute la dscussion, plutôt que seulement au premier post
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

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

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. pb jointure texture
    Par dweis dans le forum DirectX
    Réponses: 2
    Dernier message: 24/06/2003, 13h33
  3. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  4. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  5. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29

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