Essayer d'afficher six des derniers messages de mon installation PhpBB. Je suis content de la façon dont tout cela fonctionne, mais il montre six exemplaires du même article (le plus récent), et pas les derniers articles de taille.Affichage de six derniers messages PhpBB au lieu de six copies du dernier message
Juste pour confirmer, j'ai un total de sept messages sur les forums.
<?php
$con = mysqli_connect("localhost", "dbuser", "dbpass", "dbname");
$users = mysqli_query($con, "SELECT * FROM phpbb_user_group WHERE group_id='8'");
while($row = mysqli_fetch_array($users)) {
$developers[] = $row["user_id"];
}
$post = mysqli_query($con, "SELECT * FROM phpbb_posts");
while($row = mysqli_fetch_array($post)) {
$topic_id = $row["topic_id"];
$forum_id = $row["forum_id"];
$post_id = $row["post_id"];
$post_text = $row["post_text"];
$post_time = $row["post_time"];
}
$username = mysqli_query($con, "SELECT * FROM phpbb_users WHERE user_id='2'");
while($row = mysqli_fetch_array($username)) {
$postauthor = $row["username"];
if (strlen($post_text) > 10)
$post_text = wordwrap($post_text, 120);
$post_text = explode("\n", $post_text);
$post_text = $post_text[0] . '...';
$result = mysqli_query($con, "SELECT * FROM phpbb_posts WHERE poster_id='2' LIMIT 6");
while($row = mysqli_fetch_array($result)) {
$content = '<div onclick="location.href=\'http://test.mythros.net/forum/viewtopic.php?f=' . $forum_id . '&p=' . $topic_id . '#p' . $post_id . '\';" class="forum-latest-box">';
$content .= '<div class="forum-latest-userbar">';
$content .= '<div class="forum-latest-avatar">';
$content .= '<img src="https://minotar.net/helm/' . $postauthor . '/40.png">';
$content .= '</div>';
$content .= '<h1>' . $postauthor . '</h1>';
$content .= '</div>';
$content .= '<div class="forum-latest-content">';
$content .= '<div class="forum-latest-text">';
$content .= '"' . $post_text . '"';
$content .= '</div>';
$content .= '<div class="forum-latest-meta">';
$content .= gmdate("F j, Y, g:i a", $post_time);
$content .= '</div>';
$content .= '</div>';
$content .= '</div>';
echo $content;
}
?>
Regardez vos boucles plus en détail, en particulier la boucle où vous passez par les messages pour les imprimer. Sur cette boucle, vous voulez obtenir les informations sur l'auteur, faire les différents bits de transformation de texte, puis imprimer le message qui en résulte. D'où vient le '$ post_text'? Quand l'avez-vous mis? Imprime-t-il ce que vous pensez qu'il imprime? –
@ialarmedalien $ posttexte provient de $ post_text = $ row ["posttexte"]; Ce qui extrait le texte de la publication phpbb de la base de données. Il semble afficher les choses comme je les veux, seulement les six 'entrées' montrent les mêmes informations. – Skulburn
Regardez la boucle où $ post_text, etc., sont en cours de définition; Il passe en revue tous les messages sur le forum et définit ces variables sur les valeurs appropriées. Cependant, il ne sauvegarde que les données du * dernier * post, car chaque boucle écrase les données de la boucle précédente. Comprenez-vous le problème maintenant? –