Page 1,2... dans la même page
Résolu
birdsfly
Messages postés
240
Date d'inscription
Statut
Membre
Dernière intervention
-
birdsfly Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
birdsfly Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais savoir comment on fait pour que lorsqu'une page web atteint un nombre précis de paragraphes (ou interventions comme le cas du forum de CCM), une 2ème page se crée automatiquement pour que la première page contienne de nouvelles interventions.
merci d'avance
je voudrais savoir comment on fait pour que lorsqu'une page web atteint un nombre précis de paragraphes (ou interventions comme le cas du forum de CCM), une 2ème page se crée automatiquement pour que la première page contienne de nouvelles interventions.
merci d'avance
A voir également:
- Page 1,2... dans la même page
- Supprimer page word - Guide
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Page privée - Guide
- Page accueil iphone - Guide
5 réponses
Dans ta requête SQL, mets une limite du style :
Pour la pagination, il suffit de compter le nombre d'entrée avec une requête SQL, et de diviser ce nombre par $newsParPage avec la fonction ceil() (arrondi à l'entier supérieur) : ceil($nbNews / $newsParPage)
Ensuite, écrits tes liens sous la forme news.php?page=$i
Je t'ai codé un exemple : http://paste.pocoo.org/show/198307/
SELECT * FROM news LIMIT 0,10Il faut remplacer le 0 par ($pageActuelle - 1) / $newsParPage et le 10 par $newsParPage.
Pour la pagination, il suffit de compter le nombre d'entrée avec une requête SQL, et de diviser ce nombre par $newsParPage avec la fonction ceil() (arrondi à l'entier supérieur) : ceil($nbNews / $newsParPage)
Ensuite, écrits tes liens sous la forme news.php?page=$i
Je t'ai codé un exemple : http://paste.pocoo.org/show/198307/
par ce que j'ai une page web (html, php) qui affiche des données extraites d'une table, mais je l'ai codée pour qu'elle n'affiche que les 5 derniers enregistrements, mais je veux que lorsqu'on désire afficher un autre enregistrement que ce serait possible à laide des pages 1,2,3....
Merciiiiiiiii infiniment avion-f16 ça marche très bien.
Je voudrais juste savoir si j'ai bien compris le code, si cela ne dérange pas :D, donc voici ce que j'ai compris:
ce code compte le nombre d'enregistrements dans la table news et retourne le résultat dans $data['nb']. Puis pour savoir combien de pages on doit avoir on met:
Puis dans la variable $premier on teste: si c'est la 1ère page on met $premier=0, sinon (et qu'on a reçu la variable(de lien) page) on met $premier=$i-1.
Enfin on exécute la requête de sélection avec LIMIT... et on affiche les news.
et merci encore :)
Je voudrais juste savoir si j'ai bien compris le code, si cela ne dérange pas :D, donc voici ce que j'ai compris:
ce code compte le nombre d'enregistrements dans la table news et retourne le résultat dans $data['nb']. Puis pour savoir combien de pages on doit avoir on met:
ceil($nb/$newParPage)et avec la boucle for ça affiche les numéros de pages comme liens vers les pages de news.
Puis dans la variable $premier on teste: si c'est la 1ère page on met $premier=0, sinon (et qu'on a reçu la variable(de lien) page) on met $premier=$i-1.
Enfin on exécute la requête de sélection avec LIMIT... et on affiche les news.
et merci encore :)
Puis dans la variable $premier on teste: si c'est la 1ère page on met $premier=0, sinon (et qu'on a reçu la variable(de lien) page) on met $premier=$i-1.
Je préfère quand même expliqué mieux cette partie.
Imaginons qu'on souhaite afficher 10 news par page.
Sur la page 1, on affichera 10 news à partie de la première, c'est à dire 0 dans LIMIT.
Sur la seconde, on affichera 10 news à partir de la 11e (la 10 étant sur la page 1), càd 10 dans LIMIT.
Ce qui explique pourquoi : $premier = ($_GET['page'] - 1) * $newsParPage
En chiffre, ça donnerait ça : $premier = (2 - 1) * 10 (= 10, pour notre LIMIT)
Mais comme $_GET['page'] n'est pas d'office défini, il faut mettre 0 comme valeur à $premier au cas où.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question