Page 1 sur 1

Système de pages

Posté : 24 oct. 2011, 22:53
par VisualDev
Bonjour à tous !!
J'ai fait un système de pages pour mes commentaires dans un article posté.
Néanmoins si il y a beaucoup de pages, ça prend toute la fenête

Je voudrai que les pages soivent, progressives
Que ça affiche 5 pages
et exemple: si on va a la page 2 , on ne voit plus la page 1
Et faire premier et dernier

Un bout de code:

$articleid = $news_article_id;
if(isset($_GET['page'])) { //On récupère le numéro de la page via un paramètre GET
    $page = $_GET['page'];
    }else{
    $page = 1; // La page est à défaut  1
    }

    $Commentaire = dbquery("SELECT * FROM site_news_comments WHERE article='" . $articleid . "'"); // Requête
    $count = mysql_num_rows($Commentaire); // Nombres de résultats
    $pages = ceil($count / 5); // Calculation du nombre de pages
    $offset = $page - 1;          //
    $offset = $offset * 5;      // ici, on calcul où l'on reprend la récupération des commentaires selon la page
    $Commentaire = dbquery("SELECT * FROM site_news_comments WHERE article = '" . $articleid . "' ORDER BY id ASC LIMIT 5 OFFSET " . $offset); // On récupère les commentaires selon la page
for ($i = 1; $i <= $pages; $i++) {
if ($i != $page) {
echo'<a name="pages" href="' . WWW . '/article.php?id=' . $articleid . '&page='.$i.'">'.$i.'</a>&nbsp;&nbsp;';
}
else { echo $i . "&nbsp;&nbsp;"; } 
}

Re: Système de pages

Posté : 25 oct. 2011, 07:34
par xTG
En gros n'afficher un lien que vers les pages suivantes ?
if( $i >= $page ) {
  if ($i != $page) {
    echo'<a name="pages" href="' . WWW . '/article.php?id=' . $articleid . '&page='.$i.'">'.$i.'</a>&nbsp;&nbsp;';
  }
  else 
  { 
    echo $i . "&nbsp;&nbsp;"; 
  } 
}
Pour ton lien "aller à la première page" il suffit de le mettre en dehors de la boucle sous une condition vérifiant que le nombre de page dépasse 1.

Re: Système de pages

Posté : 25 oct. 2011, 13:23
par CompteVisualDev
En faite, à chaque fois que je vais sur une page, si je suis sur la dernière, on voit pas les autres

En faite je cherche à afficher 5 pages, dès que je suis sur la cinquième, la 1 ère disparait, etc...

peut être avec
if($i >= 5)

Re: Système de pages

Posté : 25 oct. 2011, 13:29
par CompteVisualDev
J'aimerai également qui si on redescend avec les pages, on revoit 1, etc...

Re: Système de pages

Posté : 25 oct. 2011, 14:50
par xTG
Pas clair tout ça... Tu veux afficher juste quelques pages autour de la page courante ?

Genre : [Première] [...] [10] [11] [12] [13] [14] [...] [Dernière]

Re: Système de pages

Posté : 25 oct. 2011, 15:36
par CompteVisualDev
Pas clair tout ça... Tu veux afficher juste quelques pages autour de la page courante ?

Genre : [Première] [...] [10] [11] [12] [13] [14] [...] [Dernière]
Oui dans ce style là ;)

Re: Système de pages

Posté : 25 oct. 2011, 17:04
par xTG
Dans ce cas c'est basé sur le même style de condition que je t'ai proposé plus haut. Sauf que cette fois ci il est borné.

Code : Tout sélectionner

SI (page - 5) > i && (page + 5) < i Afficher i