Page 1,2... dans la même page

Résolu/Fermé
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 - 6 avril 2010 à 02:33
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 - 7 avril 2010 à 01:26
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


A voir également:

5 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
6 avril 2010 à 14:28
Dans ta requête SQL, mets une limite du style :
SELECT * FROM news LIMIT 0,10
Il 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/
1
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 15
6 avril 2010 à 02:41
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....
0
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 15
6 avril 2010 à 23:49
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:
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 :)
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
7 avril 2010 à 00:34
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ù.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
birdsfly Messages postés 240 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 11 octobre 2013 15
7 avril 2010 à 01:26
Maintenant c'est beaucoup plus clair :)
merci beaucoup
0