Fonction php nombre de pages
aneantisseur
Messages postés
377
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Salut, je suis en train de coder une fonction php qui me servira à calculer le nombre de pages en fonction du nombre de messages que je veux sur une page.
Le code :
$nombre correspond au nombre de messages que je veux sur une seule page
$colonne correspond au nombre d'entrées
$table correspond à la table
Le problème, c'est que cette fonction ne m'affiche que le lien vers la dernière page.
Un exemple : Je veux 5 messages par page, il y en a 7 dans la table et bien ca ne m'affichera qu'un seul lien qui pointera vers la page n°2.
Je ne voit pas ce qui cloche.
Merci.
Le code :
function pages($nombre, $colonne, $table)
{
$nombreDeMessagesParPage = $nombre;
$retour = mysql_query('SELECT COUNT(*) AS '.$colonne.' FROM '.$table.'');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees[$colonne];
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
$retour = '<a href="index.php?page=' . $i . '">' . $i . '</a>';
}
return $retour;
}
$nombre correspond au nombre de messages que je veux sur une seule page
$colonne correspond au nombre d'entrées
$table correspond à la table
Le problème, c'est que cette fonction ne m'affiche que le lien vers la dernière page.
Un exemple : Je veux 5 messages par page, il y en a 7 dans la table et bien ca ne m'affichera qu'un seul lien qui pointera vers la page n°2.
Je ne voit pas ce qui cloche.
Merci.
1 réponse
-
<?php function pages($nombre, $colonne, $table) { $nombreDeMessagesParPage = $nombre; //ce n'est pas une bonne idee d'utiliser le meme nom de variable $retour pour deux choses différentes $requette = mysql_query('SELECT COUNT(*) FROM '.$table.''); //je ne vois pas ce que vient faire le nombre d'entrees $colonne dans la requette qui sert justement a rechercher ce nombre $donnees = mysql_fetch_row($requette); $totalDesMessages = $donnees[0]; $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); //ensuite tu faisait une boucle qui cahrgeait à chaque fois la variable $retour donc qui écrasait la valeur précédente //soit tu utilises un array pour le retour de la fonction $retour=array(); for ($i = 1 ; $i <= $nombreDePages ; $i++) { $retour[] = '<a href="index.php?page=' . $i . '">' . $i . '</a>'; } // OU tu concatènes les liens comme ci dessous /* $retour=""; for ($i = 1 ; $i <= $nombreDePages ; $i++) { $retour.= '<a href="index.php?page=' . $i . '">' . $i . '</a>'; $retour.='<br />'; // ou ' ' //pour un espace ou tu mets ce que tu veux pour déparer les liens } */ return $retour; }