Fonction php nombre de pages
aneantisseur
Messages postés
411
Statut
Membre
-
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.
A voir également:
- Fonction php nombre de pages
- Fonction si et - Guide
- Nombre de jours entre deux dates excel - Guide
- Impossible de supprimer une page word - Guide
- Word nombre de pages - Guide
- Fonction moyenne excel - Guide
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;
}