Archives FluxBB.fr

Les archives de FluxBB.fr

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org

Version 1.2.24 fr (entièrement en français) : [.zip] (maj 26/08/2011)
Pack langue française pour 1.2.x : [.zip] [.rar] (maj 15/10/2006)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 06-10-2009 22:53:42

fanf73
Wik-wiki

Dernier topic créé dans le profil

Cette astuce permet d'ajouter un lien vers la dernière discussion créé par un membre dans son profil.

Dans le fichier profile.php

Chercher

$last_post = format_time($user['last_post']);

Ajouter après

$result = $db->query('SELECT id, subject, posted FROM '.$db->prefix.'topics WHERE poster = \''.$db->escape($user['username']).'\' ORDER BY posted DESC LIMIT 1') or error('Impossible de récupérer la dernière discussion créée', __FILE__, __LINE__, $db->error());

if($db->num_rows($result))
    {
    $last_topic_row = $db->fetch_assoc($result);
    $last_topic = "<a href='viewtopic.php?id=".$last_topic_row['id']."'>".pun_htmlspecialchars($last_topic_row['subject'])."</a>";
    }
else
    $last_topic = $lang_profile['Unknown'];

Chercher

<dd><?php echo $last_post ?></dd>

Ajouter après

<dt>Dernière discussion créée : </dt>
<dd><?php echo $last_topic ?></dd>

Chercher

<p><?php echo $lang_common['Last post'] ?>: <?php echo $last_post ?></p>

Ajouter après

<p>Dernière discussion créée : <?php echo $last_topic ?></p>

Astuce créée initalement pour Guims dans cette discussion : http://www.punbb.fr/forums/viewtopic.php?id=9916


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#2 07-10-2009 09:25:03

Guims
Habitué

Re : Dernier topic créé dans le profil

Super top cette modif wink encore merci ...

Hors ligne

#3 08-10-2009 09:34:40

Loic DL
Membre

Re : Dernier topic créé dans le profil

Très bonne idée, merci je prends.

Hors ligne

#4 08-10-2009 10:27:31

teopath
Habitué actif

Re : Dernier topic créé dans le profil

Alors là, rien à dire, j'adhère

Hors ligne

#5 08-10-2009 10:39:24

mikam30
Nouveau Membre

Re : Dernier topic créé dans le profil

merci pour l'astuce

Hors ligne

#6 08-10-2009 10:57:40

adaur
Habitué actif

Re : Dernier topic créé dans le profil

Sympa, adoptée smile


"As code is more often read than written it's really important to write clean code." - Franz

Hors ligne

#7 08-10-2009 18:38:29

NoX09
Habitué actif

Re : Dernier topic créé dans le profil

Nickel, bonne idée smile


Utiliser : FAQ - AIDE - RECHERCHE

Hors ligne

#8 17-01-2010 02:09:07

ATK
Nouveau Membre

Re : Dernier topic créé dans le profil

Merci pour l'astuce!

Cependant, elle affiche aussi le titre des discussions créée dans des sections cachés (types admins, modos...).
Ça supprime donc toute confidentialité...

Hors ligne

#9 17-01-2010 09:40:47

fanf73
Wik-wiki

Re : Dernier topic créé dans le profil

Tu as raison, essaie en remplaçant la requête par celle-ci :

$result = $db->query('SELECT id, subject, posted FROM '.$db->prefix.'topics INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND poster = \''.$db->escape($user['username']).'\' AND t.moved_to IS NULL ORDER BY posted DESC LIMIT 1') or error('Impossible de récupérer la dernière discussion créée', __FILE__, __LINE__, $db->error());

Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#10 17-01-2010 19:34:41

NoX09
Habitué actif

Re : Dernier topic créé dans le profil

Je viens de remplacer la dernière requête, il affiche l'erreur

An error was encountered
Error: Impossible de récupérer la dernière discussion créée.

J'ai remplacé celle-ci

$result = $db->query('SELECT id, subject, posted FROM '.$db->prefix.'topics WHERE poster = \''.$db->escape($user['username']).'\' ORDER BY posted DESC LIMIT 1') or error('Impossible de récupérer la dernière discussion créée', __FILE__, __LINE__, $db->error());

Par

$result = $db->query('SELECT id, subject, posted FROM '.$db->prefix.'topics INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND poster = \''.$db->escape($user['username']) .'\' ORDER BY posted DESC LIMIT 1')  or error('Impossible de récupérer la dernière discussion créée', __FILE__, __LINE__, $db->error());

Utiliser : FAQ - AIDE - RECHERCHE

Hors ligne

#11 18-01-2010 15:44:31

ATK
Nouveau Membre

Re : Dernier topic créé dans le profil

Je confirme l'erreur, et je l'obtiens aussi avec la proposition de NoX09. hmm

Hors ligne

#12 13-02-2010 13:06:37

beeriz
Membre

Re : Dernier topic créé dans le profil

Salut

J'aimerai modifier cette astuce pour afficher plusieurs messages (10). Et je ne sais pas par où commencer! quelqu'un pourrait m'aider? merci

Hors ligne

#13 13-02-2010 14:00:28

fanf73
Wik-wiki

Re : Dernier topic créé dans le profil

Tu peux commencer par modifier le "limit" pour qu'il récupère 10 topics et pas qu'un seul smile


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#14 13-02-2010 17:29:25

beeriz
Membre

Re : Dernier topic créé dans le profil

Ok c'est fait,

Et maintenant j'utilise implode pour afficher les messages ?

Hors ligne

#15 19-02-2010 11:40:15

beeriz
Membre

Re : Dernier topic créé dans le profil

Quelqu'un pourrait m'expliquer comment afficher les messages, s'il vous plaît ?

Hors ligne

#16 19-02-2010 13:30:30

fanf73
Wik-wiki

Re : Dernier topic créé dans le profil

Il faut déjà utiliser une boucle while pour parcourir les résultats de ta requête

while ($cur_topic = $db->fetch_assoc($result))

et les afficher à l'intérieur de cette boucle.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

Pied de page des forums