Plug-in Derniers messages sur site

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Plug-in Derniers messages sur site

Messagepar Casio » 06 Déc 2016 à 16:12

Salutations,

J'utilise depuis longtemps le code suivant pour afficher sur notre page d'accueil les derniers posts sur notre forum phpBB 3.1 :

Code: Tout sélectionner
	<?php
    // How Many Topics you want to display?
    $topicnumber = 5;
    // Change this to your phpBB path
    $urlPath = "../forum";

    // Database Configuration (Where your phpBB config.php file is located)
    include 'forum/config.php';

    $table_topics = $table_prefix. "topics";
    $table_forums = $table_prefix. "forums";
    $table_posts = $table_prefix. "posts";
    $table_users = $table_prefix. "users";
    $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Connexion au forum WDA impossible !");
    mysql_select_db("$dbname") or die("Base de donn&eacute;e inaccessible !");

    $query = "SELECT t.topic_id, t.topic_title, topic_views, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
    WHERE t.topic_id = p.topic_id AND
    f.forum_id = t.forum_id AND
    t.forum_id != 4 AND
    t.topic_status <> 2 AND
    p.post_id = t.topic_last_post_id AND
    p.poster_id = u.user_id
    ORDER BY p.post_id DESC LIMIT $topicnumber";

    $result = mysql_query($query) or die("Requete forum anormale !");                                    

    // print "<table cellpadding='3' cellSpacing='2' width='640'>";
	echo '<table width="100%" class="newsforum">';

	// Entetes
    echo '<tr>';
    echo '<th align="left">Sujets / Derni&egrave;res r&eacute;ponses</th>';
	echo '<th align="center">Vues</th>';
    echo '<th align="center">Dernier message</th>';
    echo '<th align="center">Date</th>';
    echo '</tr>';
	
	// Posts
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

	echo  "<tr valign='top'>
	<td align='left'><b><a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]#p$row[post_id]\" TARGET=\"_blank\">" . utf8_encode($row["topic_title"]) . "</a></b></td>
	<td align='center'>" . $row["topic_views"] . "</td>
	<td align='center'>par <a href=\"$urlPath/memberlist.php?mode=viewprofile&u=$row[user_id]\" TARGET=\"_blank\">" . utf8_encode($row["username"]) . "</td>
	<td align='center'>" . date('d/m/Y', $row["post_time"]) . "</td>
	</tr>";
    }
    print "</table>";
    mysql_free_result($result);
    mysql_close($link);
    ?>


Tout fonctionne bien, mais j'aurais une question :

Sauriez-vous comment je peux rajouter une colonne affichant le nombre de réponses d'un post ?

A vous lire,
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: [Qst] - Plug-in Derniers messages sur site

Messagepar Casio » 17 Oct 2017 à 20:26

Personne ?
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: Plug-in Derniers messages sur site

Messagepar Steph » 17 Oct 2017 à 20:32

Salut,

Votre sujet a été déplacé par un membre de l'équipe.

Pas grand chose à voir avec phpBB, c'est du coding personnel

Au passage, j'ai supprimé QST du le titre du sujet, ce n’est pas vraiment utile et en plus le langage SMS n'aide pas à la compréhension, nous avons un clavier très bien évolué pour faire des mots entiers et compréhensif.
Avatar de l’utilisateur
Steph
Administrateur
Administrateur
 
Messages: 18075
Enregistré le: 29 Déc 2008 à 16:48
Localisation: Alsace / Bas-Rhin / France

Re: Plug-in Derniers messages sur site

Messagepar Casio » 17 Oct 2017 à 20:34

Merci. Je fais cela depuis la première mouture de la Netiquette (1996), dont j'étais co-signataire.
L'idée était de rapidement montrer le sujet de la requête.
Je ne suis pas de la génération "texto".

Merci du déplacement de topic.
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: Plug-in Derniers messages sur site

Messagepar galixte » 17 Oct 2017 à 20:39

Les abréviations ne parlent à personne, tu comprends bien que le but recherché est d’être compris de tous. ;)

Pour ta requête tu peux peut-être t’appuyer sur le code (ou en iframe) de l’extension « Recent Topics ».
Modifié en dernier par galixte le 18 Oct 2017 à 10:21, modifié 1 fois.
Communau EzCom
Image
« Traductions d’extensions & styles pour phpBB 3.1.x & 3.2.x ».
ImageListes de toutes les extensions recensées pour phpBB 3.1.x & 3.2.x.
ImageListes de tous les styles recensés pour phpBB 3.1.x & 3.2.x.
Avatar de l’utilisateur
galixte
Floodeur universel
Floodeur universel
 
Messages: 10117
Enregistré le: 08 Mar 2004 à 02:40
Localisation: Sud de la France.

Re: Plug-in Derniers messages sur site

Messagepar Casio » 17 Oct 2017 à 20:44

- H.S -
Je ne pensais pas que "QST" n'était plus compris par le quidam. Il l'était très clairement à l'époque.
Merci, j'en prends bonne note.
- Fin de H.S -
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: Plug-in Derniers messages sur site

Messagepar Casio » 17 Oct 2017 à 20:46

galixte a écrit:(...)
Pour ta requête tu peux peut-être t’appuyer sur le code (ou en iframe) de l’extension « Recent Topics ».

Obligé de mettre une extension ? Pas possible d'avoir juste le nom des tables SQL interrogées comme dans le code ci-dessus ?
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: Plug-in Derniers messages sur site

Messagepar Steph » 17 Oct 2017 à 20:58

Merci de ne faire des UPs que toutes les 24 heures minimum !

Le fait de passer par une extension permet une certaine facilité pour les futures mises à jour et aussi pour sécuriser le forum.
Avatar de l’utilisateur
Steph
Administrateur
Administrateur
 
Messages: 18075
Enregistré le: 29 Déc 2008 à 16:48
Localisation: Alsace / Bas-Rhin / France

Re: Plug-in Derniers messages sur site

Messagepar papajoke » 17 Oct 2017 à 20:59

bonjour,

oui code d'un autre age :? (qui va bien avec le sujet du forum)
Casio a écrit:affichant le nombre de réponses d'un post ?

? nombre de posts dans un sujet: phpbb_topics.topic_posts_approved ; réponses d'un post oops la c'est compliqué : COUNT les posts dans un même topic avec une date supérieure, mais ce n'est certainement pas ce que tu désires :wink:
modérateur forum manjaro.fr
Avatar de l’utilisateur
papajoke
Apprenti-posteur
Apprenti-posteur
 
Messages: 186
Enregistré le: 23 Juil 2017 à 13:45

Re: Plug-in Derniers messages sur site

Messagepar FoFa » 28 Jan 2018 à 01:53

Hello,

Non tester, mais cela devrait fonctionner. Faites une sauvegarde de vos fichiers avant toute modification!!!

Chercher :
Code: Tout sélectionner
$query = "SELECT t.topic_id, t.topic_title, topic_views, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username


Trouver :
Code: Tout sélectionner
topic_views


Après, dans la ligne, ajouter :
Code: Tout sélectionner
, topic_replies


Trouver :
Code: Tout sélectionner
echo '<th align="center">Vues</th>';


Après, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
echo '<th align="center">Réponses</th>';


Trouver :
Code: Tout sélectionner
<td align='center'>" . $row["topic_views"] . "</td>


Après, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
<td align='center'>" . $row["topic_replies"] . "</td>


Enregistrer. Vider le cache.
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Plug-in Derniers messages sur site

Messagepar pjulienne » 28 Jan 2018 à 15:33

Quel le le champ que vous voulez ajouter, d'après que j'ai compris vous voulez le lire à partir de la base de donner
Signature effacée par un modérateur : la signature ne respectait pas le point 1.5 du règlement du forum.
Avatar de l’utilisateur
pjulienne
Posteur néophyte
Posteur néophyte
 
Messages: 4
Enregistré le: 28 Jan 2018 à 15:03

Re: Plug-in Derniers messages sur site

Messagepar Casio » 30 Jan 2018 à 10:49

FoFa a écrit:Hello,

Non tester, mais cela devrait fonctionner. Faites une sauvegarde de vos fichiers avant toute modification!!!
(...)


Merci beaucoup de ce retour.

Je viens de tester, mais visiblement le SELECT n'est pas apprecié :
Fatal error: Call to a member function fetch_assoc() on boolean in /includes/news.php on line 56

La ligne 56 est le Fetch, et cela ne se corrige qu'en retirant le :
Code: Tout sélectionner
, topic_replies

du SELECT.

Est-ce la bonne variable ?

Code: Tout sélectionner
	// Requete SQL
	$result = $connexion->query ("SELECT t.topic_id, t.topic_title, topic_views, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
	FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
	WHERE t.topic_id = p.topic_id AND
	f.forum_id = t.forum_id AND
	t.forum_id != 4 AND
	t.topic_status <> 2 AND
	p.post_id = t.topic_last_post_id AND
	p.poster_id = u.user_id
	ORDER BY p.post_id DESC LIMIT $topicnumber");
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE

Re: Plug-in Derniers messages sur site

Messagepar FoFa » 30 Jan 2018 à 11:16

Essayez :

Trouver :
topic_views

Remplacer par :
t.topic_views

Et au lieu d'ajouter :
topic_replies

Ajouter :
t.topic_replies
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Plug-in Derniers messages sur site

Messagepar Casio » 30 Jan 2018 à 11:26

Idem... :(
Fatal error: Call to a member function fetch_assoc() on boolean in /includes/news.php on line 56

Cache vidée, reflush.
Image
Avatar de l’utilisateur
Casio
Roi des posts
Roi des posts
 
Messages: 506
Enregistré le: 02 Jan 2004 à 20:09
Localisation: Paris XVII / FRANCE


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités