PHPBB-> Afficher les derniers messages d'un forum

WRInaute occasionnel
Bonjour, j'ai trouvé sur le forum WRI pas mal de topic pour afficher les derniers messages d'un forum phpbb, tout forum confondu. Mais comment faire pour afficher les derniers messages d'un seul forum (par exemple du forum "Développement d'un site Web" pour WRI? Merci.

PS : J'ai vu dans ma base de donnée que dans la table "phpbb2_topics", il y avait "forum_id" qui définit le numéro du forum dans lequel le message a été posté.

PS 2 : Voilà le début du CODE que j'utilise pour afficher les 10 derniers message de tout mon forum :
Code:
$sql = "SELECT `topic_id`, `topic_title`, `topic_time`, `forum_name`, phpbb2_forums.forum_id
   FROM `phpbb2_topics`, `phpbb2_forums`
   WHERE phpbb2_forums.forum_id = phpbb2_topics.forum_id
   AND `auth_view` = '0'
   AND phpbb2_forums.forum_id != '8'
   ORDER BY `topic_time` DESC
   LIMIT 0,10";

Merci de votre aide.
 
WRInaute impliqué
Salut,

Ce que j'utilise comme code pour afficher les sujets d'un forum en particulier ... dans le cas présent le forum portant l'id 21


Code:
$select_rech = "SELECT SQL_SMALL_RESULT DISTINCT topic_title,topic_id,forum_id 
FROM phpbb_topics 
WHERE forum_id='21' 
ORDER BY topic_id DESC limit 10";
 
$query_rech = mysql_query ($select_rech);

++
 
WRInaute occasionnel
Merci de ta réponse. Si j'ai bien compris, faut rajouter "forum_id=", pour désigner dans quel forum les 10 derniers messages doivent être pris.
Voici le CODE :
Code:
<?php
require_once($host . "config.php");
$dbh = mysql_connect($db_host, $db_login, $db_pass);
$db_name = mysql_select_db($db_name);

$sql = "SELECT `topic_id`, `topic_title`, `topic_time`, `forum_name`, phpbb2_forums.forum_id
   FROM `phpbb2_topics`, `phpbb2_forums`
   WHERE phpbb2_forums.forum_id = phpbb2_topics.forum_id
   AND forum_id='1' 
   AND `auth_view` = '0'
   AND phpbb2_forums.forum_id != '8'
   ORDER BY `topic_time` DESC
   LIMIT 0,10";
   
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$f_title = $aff_forums['forum_name'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.benefweb.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
</TR>";
}
mysql_close($dbh);
?>

Et j'ai l'erreur suivante :
Column: 'forum_id' in where clause is ambiguous
 
WRInaute impliqué
Essaye ceci :

Code:
<?php 
require_once($host . "config.php"); 
$dbh = mysql_connect($db_host, $db_login, $db_pass); 
$db_name = mysql_select_db($db_name); 

$sql = "SELECT `topic_id`, `topic_title`,`forum_id`,`topic_time`
   FROM `phpbb2_topics` 
   WHERE forum_id='1' AND forum_id != '8' 
   ORDER BY `topic_id` DESC 
   LIMIT 0,10"; 
    
$r_topics = mysql_query($sql) or die(mysql_error()); 
while ($aff_forums = mysql_fetch_array($r_topics)) { 
$id = $aff_forums['topic_id']; 
$f_id = $aff_forums['forum_id']; 
$title = $aff_forums['topic_title']; 
$time = $aff_forums['topic_time']; 
$time = date("d/m/y", $time); 
echo " 
<TR> 
<TD><center class=Style1 >" . $time . "</center></TD> 
<TD><center class=Style1 ><div align=left><a href=\"http://www.benefweb.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD> 
</TR>"; 
} 
mysql_close($dbh); 
?>

Tu n'as pas besoin de jointure pour ce que tu veux afficher ... essaye toujours ce que je t'ai donné comme code
 
WRInaute occasionnel
C'est, ça marche avec ce CODE :
Code:
<?php
require_once($host . "config.php");
$dbh = mysql_connect($db_host, $db_login, $db_pass);
$db_name = mysql_select_db($db_name);

$sql = "SELECT `topic_id`, `topic_title`, `topic_time`, `forum_name`, phpbb2_forums.forum_id
   FROM `phpbb2_topics`, `phpbb2_forums`
   WHERE phpbb2_forums.forum_id = phpbb2_topics.forum_id
   AND phpbb2_forums.forum_id = '1' 
   AND `auth_view` = '0'
   AND phpbb2_forums.forum_id != '8'
   ORDER BY `topic_time` DESC
   LIMIT 0,10";
   
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics)) {
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$f_title = $aff_forums['forum_name'];
$time = $aff_forums['topic_time'];
$time = date("d/m/y", $time);
echo "
<TR>
<TD><center class=Style1 >" . $time . "</center></TD>
<TD><center class=Style1 ><div align=left><a href=\"http://www.benefweb.com/forum/viewtopic.php?t=" . $id . "\">" . $title . "</a><br /></div></center></TD>
</TR>";
}
mysql_close($dbh);
?>

Où , 1 désigne l'id du Forum.
Merci pour votre aide!
:D
 
WRInaute discret
Et avez vous une solution pour afficher le pseudo choisit par une personne non enregistrée, car par défaut il y a "Anonymous"...
 
Discussions similaires
Haut