Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1440 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Lier la récupération d'infos de 2 tables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Lier la récupération d'infos de 2 tables

n°1801698
dRmm
Posté le 17-10-2008 à 23:51:45  profilanswer
 

Bonjour,
 
Je me sers de mon forum pour générer des news sur mon site.
Mon script récupère les topics postés sur un forum donné pour les afficher en tant que news.
 
J'affiche le titre, la date, l'auteur, etc. Pas de problème, je récupère ces infos depuis la table forum_topics
 
Le problème est que je n'arrive pas à afficher le contenu du post, car il se trouve dans une autre table qui contient tout les posts du forum (topics et réponses): forum_posts, dans le champ 'message'.
La table forum_posts comporte également un champ topic_id qui sert à dire dans quel thread se trouve le post.
 
Je suppose que je dois faire une requête qui demande d'afficher le premier post en date du topic_id qui correspond à l'id de la news.
 
 

Code :
  1. $reponse = mysql_query("SELECT * FROM forum_topics WHERE forum_id='21'" );
  2. while ($donnees = mysql_fetch_array($reponse) )


 
Titre, Auteur, date, etc..

Code :
  1. echo $donnees['subject'];
  2. echo $donnees['poster'];
  3. echo $donnees['posted'];


 
J'ai très peu d'expérience en php/sql, alors merci de m'aider :-)


Message édité par dRmm le 18-10-2008 à 00:00:58
mood
Publicité
Posté le 17-10-2008 à 23:51:45  profilanswer
 

n°1801710
tet2neu
emmerdeur
Posté le 18-10-2008 à 03:27:33  profilanswer
 

un INNER JOIN entre les 2 tables sur l'identifiant du topic, un ORDER BY sur la date de création du post et un LIMIT pour la première ligne et ça devrait rouler [:jkley]

n°1801800
dRmm
Posté le 18-10-2008 à 14:27:09  profilanswer
 

Merci à toi, mais je n'ai aucune idée du code à écrire pour cela. J'ai lu quelques docs là-dessus mais mes bases ne sont pas assez solides. Si quelqu'un peut m'éclairer.

n°1801804
MEI
|DarthPingoo(tm)|
Posté le 18-10-2008 à 14:34:27  profilanswer
 

tet2neu a écrit :

un INNER JOIN entre les 2 tables sur l'identifiant du topic, un ORDER BY sur la date de création du post et un LIMIT pour la première ligne et ça devrait rouler [:jkley]


En gros ça :
 

Code :
  1. SELECT T.SUBJECT, T.POSTER, T.POSTED, P.MESSAGE
  2. FROM FORUM_TOPICS T INNER JOIN FORUM_POSTS P ON T.TOPIC_ID = P.TOPIC_ID
  3. WHERE P.FORUM_ID = 'x'
  4. ;


Message édité par MEI le 18-10-2008 à 14:49:13

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1801806
tet2neu
emmerdeur
Posté le 18-10-2008 à 14:41:08  profilanswer
 

j'aurais plutôt vu une jointure sur TOPIC_ID
 
Et là tu renvoies tous les posts du topic. Il ne faut que le premier si j'ai bien compris. D'où le LIMIT pour ne récupérer que le premier

n°1801808
MEI
|DarthPingoo(tm)|
Posté le 18-10-2008 à 14:49:42  profilanswer
 

Oups je me suis laissé abusé par le where comme un boulays :D
 
J'ai edit donc. ;)


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1802952
dRmm
Posté le 21-10-2008 à 20:55:41  profilanswer
 

Merci, on a fini par y arriver avec un peu d'aide.
 
Il reste un autre truc à régler:
 
Le rendu des news ne tient pas compte de la mise en page bbcode (sauts de lignes, balises genre [b][/b].
 
Quelle est la manip pour régler tout ça ? :-)
 
Je pense surtout aux sauts de ligne, qui ne sont indiqués par rien dans l'affichage des posts dans la base.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Lier la récupération d'infos de 2 tables

 

Sujets relatifs
Afficher les messages SQL récupérés par un WebService dans mon client[SQL]Probleme de condition sur un SELECT
[Access 2007] Problème de relations de tablesProblème d'apostrophe PHP et SQL SERVER
de xls à SQL serverSQL-tablespace autoextend
insertion entre deux tablesconnexion entre VB6 et SQL Server
[Access] - l'expression ne fait pas partie de la fonction d'agregatSQL > Obtenir les deux identifiants adjacents
Plus de sujets relatifs à : [SQL] Lier la récupération d'infos de 2 tables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR