par
spirou » 26 août 2006, 16:29
Bonjour à tous,
J'ai un petit problème concernant la pagination des messages d'un forum avec reprise du message de la page précédente, il se situe sur la dernière page, je n'arrive pas à faire que si le nombre de message tombe juste, que le lien vers la dernière page ne soit pas seulement la reprise du dernier message.
C'est pas très clair, je vais faire un exemple.
Mon code actuel :
//***************
// pagination des liens vers les messages
// nombre de pages du sujet
$nb_page = ceil($l['nb_message']/$nb_sujet_page);
//ajout des messages repris
$nb_page = ceil(($l['nb_message'] + $nb_page)/$nb_sujet_page) + 1;
$k = liste_page($page, $nb_page, 5);
$url = 'forum-sujet-' . $l['id'] . '-' . rewrite($l['titre']);
$liens_pages = '';
$nc=0;
foreach($k as $v)
{
$liens_pages .= ( $v != '...') ? '<a href="' . $url . '-page' . $v . '.html">' . $v . '</a>' : '<span>'. $v . '</span>';
$nc += strlen($v);
if( $nc > 7 )
{
$liens_pages .= '<br />';
$nc = 0;
}
}
$page_dernier_message = (max($k) != 1) ? '-page' . max($k) : '';
Et un exemple avec 13 messages sur une pagination de 3 messages/page :
Comme vous le constatez, la dernière page ne contient que la reprise du sujet précédent, c'est donc ce que je voudrais éviter, je pense qu'il faut que je me serve du modulo, mais j'arrive pas à obtenir ce que je veux
Si vous pouviez me fournir quelques conseils, ce serait bien, car je patauge un peu, en plus je suis sûr que c'est bête
Merci.
Bonjour à tous,
J'ai un petit problème concernant la pagination des messages d'un forum avec reprise du message de la page précédente, il se situe sur la dernière page, je n'arrive pas à faire que si le nombre de message tombe juste, que le lien vers la dernière page ne soit pas seulement la reprise du dernier message.
C'est pas très clair, je vais faire un exemple.
Mon code actuel :
[php]//***************
// pagination des liens vers les messages
// nombre de pages du sujet
$nb_page = ceil($l['nb_message']/$nb_sujet_page);
//ajout des messages repris
$nb_page = ceil(($l['nb_message'] + $nb_page)/$nb_sujet_page) + 1;
$k = liste_page($page, $nb_page, 5);
$url = 'forum-sujet-' . $l['id'] . '-' . rewrite($l['titre']);
$liens_pages = '';
$nc=0;
foreach($k as $v)
{
$liens_pages .= ( $v != '...') ? '<a href="' . $url . '-page' . $v . '.html">' . $v . '</a>' : '<span>'. $v . '</span>';
$nc += strlen($v);
if( $nc > 7 )
{
$liens_pages .= '<br />';
$nc = 0;
}
}
$page_dernier_message = (max($k) != 1) ? '-page' . max($k) : '';
[/php]
Et un exemple avec 13 messages sur une pagination de 3 messages/page :
[code]1 3 5 7 9 11 13
2 4 6 7 10 12
3 5 7 9 11 13[/code]
Comme vous le constatez, la dernière page ne contient que la reprise du sujet précédent, c'est donc ce que je voudrais éviter, je pense qu'il faut que je me serve du modulo, mais j'arrive pas à obtenir ce que je veux :oops:
Si vous pouviez me fournir quelques conseils, ce serait bien, car je patauge un peu, en plus je suis sûr que c'est bête :roll:
Merci.