Archives FluxBB.fr

Les archives de FluxBB.fr

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

#1 02-09-2009 20:23:08

Super_baloo8
Membre

Reprise du derniers message de la discussion lorsque plusieurs page

Bonsoir à tous,

J'ai chercher une mod qui permettrais ça, sans rien trouvé (ais-je mal cherché ? Possible, pourtant j'y ai mis du coeur smile )

Explication :

Une discussion est composé d'un nombre X de message, qui fait que la pagination se met en place, et je me retrouve avec une discussion sur plusieurs page.

Pour que le suivi de la discussion soit plus pratique, j'aimerais afficher le dernier message qui se trouve sur la page précédente.

Ce soir j'en ai plein les yeux, j'ai pas arrêter d'intégrer/adaptar/corriger pas mal de mod, et j'ai du mal à y voir clair.

Je suppose fortement que la solution se situe en 3 malheureuse ligne de code dans viewtopic.php , mais où, là je sèche ce soir.

Merci à vous !


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#2 02-09-2009 20:54:19

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Génial, merci je teste ça !


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#3 02-09-2009 21:26:03

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Pas bète cette idée de "suivant/précèdent", pas compliqué à mettre en place ça.

Tout petit bout de code est bon, il fonctionne très bien !!!

J'ai rajouter ma petite touche perso, pour que le dernier message soit indiquer comme message repris, il faut chercher :

<?php echo $cur_post['message']."\n" ?>

Juste avant, rajouter :

<?php if($start_from > 1 AND $first_reprise == TRUE) { echo "\t\t\t\t\t".'<p class="message_reprise"><em>(reprise du message précédent)</em></p>'."\n"; $first_reprise = FALSE; } ?>

Ensuite, trouver la boucle "while" :

while ($cur_post = $db->fetch_assoc($result))
{

Et rajouter avant :

$first_reprise = TRUE;

Et voilà, le premier message aura un petit commentaire tout en haut du message.

Vous pouvez le personnaliser avec les css après avec la class : .message_reprise

Pour ma part, j'ai rajouter ceci :

#punwrap p.message_reprise {
    margin-bottom: 20px;
    text-align: right;
    font-style: italic;
}

J'ai rajouté l'ID dans mon sélecteur car j'ai le site et le forum complètement mit l'un dans l'autre (http://www.grid-france.net)

Exemple visible

Dernière modification par Super_baloo8 (02-09-2009 21:27:05)


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#4 02-09-2009 21:30:03

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Quel impolitesse, MERCI !!!!!!! 51.gif


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#5 02-09-2009 21:34:32

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

OOps, j'ai rien dis smile

Dernière modification par Super_baloo8 (02-09-2009 21:36:40)


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#6 06-09-2009 04:34:01

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Correction du code, il faut remplacer cette ligne :

if ($start_from > 1) {$start_from--; $disp_posts++;}

Par

if ($start_from >= 1) {$start_from--; $disp_posts++;}

Pourquoi exactement, aucune idée. Mais ça fonctionne mieux ainsi, je n'ai plus de décalage de message entre les page, tout fonctionne comme prévu !


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#7 06-09-2009 09:22:38

Mpok
Néo Admin

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Super_baloo8 a écrit :

Pourquoi exactement, aucune idée.

C'est parce que $start_from a comme limite inférieure 0 (le premier message est le 0, pas le 1).

Hors ligne

#8 06-09-2009 17:34:35

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Oui mais quand tu passe à la page 2, le premier message n'est pas le message 0 mais le message 0 + le nombre de message à afficher par discussion (valeur du membre).

Donc normalement c'est toujours supérieur à 1 lors de la page 2, c'est pour ça que je ne comprends pas.

(LIMIT 0, 20) pour afficher les 19 premiers message de la discussion, et (LIMIT 20, 40) pour afficher les 19 messages suivant à partir du message n° 20 de la discussion.

Puis (LIMIT 40, 60) etc etc ....

Donc normalement le $start_from est toujours supérieur à 1 lorsque que l'on passe à la page 2. Donc pourquoi le "supérieur ou égale" fonctionne correctement alors que le "strictement supérieur à" ne fonctionne que sur la page 2 ?

C'est ça que je ne comprends pas.

A moins que je n'ai pas bien compris ce que tu voulais dire ?

Dernière modification par Super_baloo8 (06-09-2009 17:35:24)


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#9 06-09-2009 21:08:20

Super_baloo8
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

oldie-2 a écrit :

oui, c'est curieux ! moi ça fonctionne avec > 1 et >= 1

Les deux test fonctionnent sur la page 1 et 2, si je vais à une page 3, il faut que la condition soit supérieur ou égale, sinon marche pas, (le message de la page d'avant n'est pas repris).

Va savoir pourquoi ... tongue


[img]http://www.grid-france.fr/images/equipe/userbar_equipe_france_2.gif[/img] Équipe France

Hors ligne

#10 29-09-2009 23:44:57

boiteemail
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

Bonjour, je cherche a faire a peu pret la meme chose mais je n'y arrive pas donc si quelqu'un peut me guider, je suis preneur.
Je cherche simplement au lieu d'afficher le dernier post de la page precedente a afficher tout simplement le premier post de la discussion!
la modif doit surement se trouver par la mais je n'y arrive pas sniff

if ($start_from > 1) {$start_from--; $disp_posts++;}

La raison est vu que je tris par defaut les post du plus recent au plus ancien, le premier message se trouve à la derniere page grrrr.
Merci d'avance

Hors ligne

#11 30-09-2009 00:07:14

teopath
Membre

Re : Reprise du derniers message de la discussion lorsque plusieurs page

C'est donc tout simple, tu lance ta requête, tu ne mets pas de boucle pour lire chaque post et tu ne lis que le dernier qui est en fait le premier de la discussion

Hors ligne

Pied de page des forums