Donnés php etalés sur plusieures pages
Bonjour,
J'ai sur mon site un tableau récupérant des donnés d'une base de donnée.
J'aurais aimer savoir si pour éviter d'avoir une page très longue, il aurait été possible a partir d'un certain nombre de lignes de continuer sur une nouvelle page, et ainsi de suite ?
Est-ce que quelqu'un sait comment faire ?
Merci de me répondre
Jérome
J'ai sur mon site un tableau récupérant des donnés d'une base de donnée.
J'aurais aimer savoir si pour éviter d'avoir une page très longue, il aurait été possible a partir d'un certain nombre de lignes de continuer sur une nouvelle page, et ainsi de suite ?
Est-ce que quelqu'un sait comment faire ?
Merci de me répondre
Jérome
5 réponses
-
ContributeurSalut,
je t'ai laissé un message privé :) -
require ( "suite.php") ;
-
effectivement je n avais pas bien lu
sortir un nb d enregistrement limités a chaque fois de toutes facons difficile de voir sans precisions -
Oui c'est possible , un exemple les livres d'or , on voit les 10 derniers messages ,un lien vers la page deux , puis vers la 3 et ainsi de suite .
Ou je suis a coté de la plaque ? -
Voila ta plus qu'a adapter le script :
$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>