Système de pagination sous template
[code=php]$retour_total = mysql_query('SELECT COUNT(*) AS total FROM '.$this->NewsTables.'');
$messagesParPage = 5;
$donnees_total = mysql_fetch_assoc($retour_total);
$total = $donnees_total['total'];
$nombreDePages = ceil($total/$messagesParPage);
if(isset($_GET['Page'])) {

$pageActuelle = intval($_GET['Page']);

if($pageActuelle > $nombreDePages){

$pageActuelle = $nombreDePages;

}

}

else{

$pageActuelle = 1;

}[/code]

Je suis désolé mais d'après ce que je vois, $pageActuelle ne vaut pas toujours 1. Tu peux nous donner l'URL que tu utilises pour atteindre ta page ?
Et pendant qu'on y est il serait intéressant de savoir ce que vaut $nombreDePages.

D'après les informations que tu donnes, $pageActuelle vaut 0 (et donc $pageActuelle-1 vaut -1). Donc faut chercher pourquoi. Et le calcul en Php n'a rien à voir la dedans.
je plussoie en effet, c’est ton algorithme qui foire là et non pas PHP qui est en cause Clin
Voici le lien :http://deathart.fr/zack-style.fr/?Page=News
Édition :
Quand je test pour voir ce que contient la variable page actuelle
Ca me renvoie 0
Édition :
Donc pageactuelle vau bien 0
Édition :
Je vous ais mis ce que contient les variables : $this->premiereEntree : -5 $this->pageActuelle : 0 $this->nombreDePages : 1
Édition :
Donc ce qui foire c'est bien $this->premiereEntree
Édition :
Et : $this->pageActuelle-1
Citation :$this->premiereEntree : -5
Et dans le fait de vouloir récupérer la page -5 y'a rien qui te choques ?

Citation :$this->pageActuelle : 0
Donc comme je le disais, le problème vient de la.

Reste à trouver pourquoi.

EDIT : Ah j'ai trouvé. Hey mais wtf les mecs faut essayer de comprendre ce que vous faites un peu ...

[code=php]$pageActuelle = intval($_GET['Page']);[/code]
Citation :http://deathart.fr/zack-style.fr/?Page=News

Sans déconner ?
Ah bah oui ! Vu comme ça c'est clair qu'on fonce dans le mur ! Langue

Sinon merci pour les infos Elmsroth.
Après il est clair que je ne peux pas savoir ce qu'il monte comme site donc pas évident de faire un script adapté ! Hihi

Pour ce qui est de ce bout de code:
[code=php] if(isset($_GET['Page'])) {

$pageActuelle = intval($_GET['Page']);

if($pageActuelle > $nombreDePages){

$pageActuelle = $nombreDePages;

}

}

else{

$pageActuelle = 1;

}[/code]

Pour ma part je l'aurais tourner comme ça:
[code=php]if(isset($_GET['p']) && is_numeric($_GET['p'])) {
$page = $_GET['p'];
} else {
$page = 1;
}[/code]

Après tu y ajoutes tes propres modifs et le tour est jouer !
@Magus:

Normalement le lien au total doit donner http://deathart.fr/zack-style.fr/?Page=News&Page=1
Mais si c'est ce lien ca redirige vers l'accueil
@Allan

Tu peux encore raccourci ton bout de code à l’extrême avec les opérateurs ternaires :
[code=php]
$page = ( isset($_GET['p']) && is_numeric($_GET['p']) ) ? $_GET['p'] : 1 ;
[/code]
(19-08-2011 15:43)deathart a écrit :  @Magus:

Normalement le lien au total doit donner http://deathart.fr/zack-style.fr/?Page=News&Page=1
Mais si c'est ce lien ca redirige vers l'accueil

Faut réviser ses cours Deathart ! Heureux
En faite, la raison pour laquelle ça ne fonctionne pas est que tu définit deux fois la variable $_GET['Page'] !

Pour que ça fonctionne, il te faut une adresse comme celle ci:
Citation :http://deathart.fr/zack-style.fr/?Page=News&p=1

Avec ce que je viens de te montrer, tu devrais maintenant être capable de corrigé ton problème ! Smile
Si tu n'y arrives toujours pas et bien c'est pas bon !! Hihi

Édition :
(19-08-2011 15:52)Elmsroth a écrit :  @Allan

Tu peux encore raccourci ton bout de code à l’extrême avec les opérateurs ternaires :
[code=php]
$page = ( isset($_GET['p']) && is_numeric($_GET['p']) ) ? $_GET['p'] : 1 ;
[/code]

Oui il y a aussi cette solution mais je voulais garder la même forme que ce que lui avait fait ! Smile
(19-08-2011 15:55)Allan a écrit :  
(19-08-2011 15:43)deathart a écrit :  @Magus:

Normalement le lien au total doit donner http://deathart.fr/zack-style.fr/?Page=News&Page=1
Mais si c'est ce lien ca redirige vers l'accueil

Faut réviser ses cours Deathart ! Heureux
En faite, la raison pour laquelle ça ne fonctionne pas est que tu définit deux fois la variable $_GET['Page'] !

Pour que ça fonctionne, il te faut une adresse comme celle ci:
Citation :http://deathart.fr/zack-style.fr/?Page=News&p=1

Avec ce que je viens de te montrer, tu devrais maintenant être capable de corrigé ton problème ! Smile
Si tu n'y arrives toujours pas et bien c'est pas bon !! Hihi

Édition :
(19-08-2011 15:52)Elmsroth a écrit :  @Allan

Tu peux encore raccourci ton bout de code à l’extrême avec les opérateurs ternaires :
[code=php]
$page = ( isset($_GET['p']) && is_numeric($_GET['p']) ) ? $_GET['p'] : 1 ;
[/code]

Oui il y a aussi cette solution mais je voulais garder la même forme que ce que lui avait fait ! Smile

Je ne suis qu'un amateur Langue Hihi

Sinon je vais chercher et vous dire
Il n'y a pas de problèmes ! Smile
C'est juste pour que ça soit au clair sinon tu va bloquer par la suite ...

Retourner en haut Accueil