|
|
|
|
Posté par
tonguim, le mercredi 26 octobre 2005 à 21:00:13<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
include("connexion.php");
$query="select * from articles";
$result = mysql_query($query);
$nombMaxPage=0;
//$nombMaxPage = 10; //nombre par page
$numPageCour = 0; //n° de la fiche courante
$Ndeb=@$_GET["num"]; //1ère fiche transmise par l'URL
// tant qu'il y a des fiches
while (($val = mysql_fetch_array($result)) && ($numPageCour<$nombMaxPage+$Ndeb))
{
if($numPageCour>=$Ndeb)
{
// affiche un champ
echo $val["champ"]."<br>";
}
// une de plus
$numPageCour++;
} ?>
<br>
<table cellpadding=3><tr>
<?php
// Navigation: Des fiches avant ?
if($Ndeb > 0) { ?>
<td valign=top>
<A href="?num=<? echo $Ndeb-$nombMaxPage; ?>"
>Retour</A>
</td>
<? } ?>
<td>
<? // N° des pages
$Npag = ceil(mysql_numrows($result)/$nombMaxPage);
for($i = 1;$i<=$Npag;$i++) {
// Page courante ?
if($Ndeb == ($i-1)*$nombMaxPage) { ?>
Page <? echo $i; ?>
<? } else { ?>
<A href="?num=<? echo ($i-1)*$nombMaxPage; ?>"
> <? echo $i; ?> </A>
<? }
} ?>
</td>
<? // Des fiches après ?
if($val) { ?>
<td valign=top>
<A href="?num=<? echo $numPageCour; ?>">Suite</A>
</td>
<? } ?>
</tr></table>
</body></html>
<? mysql_close(); ?>
?>
</body>
</html>
|
ben son code est commenté ...
En gros, c'est un gros bourrin. Il sélectionne toute la table et parcourt depuis le début jusqu'à tomber sur son numéro. Imagine que tu veux afficher tes articles de 50 à 59 Ben tu récupères la page courante (50), puis tu parcours la requête jusqu'à arriver à 50 et la tu affiches tant que 50+ nombre par page (10 dans exemple) n'est pas atteint. résultat, ben tu a les articles de 50 à 59 Ensuite, si tu n'es pas sur le premier article, tu fait un lien qui va vers l'article courant - le nombre d'article. (Donc 50 -10 = 40) Et qui sera la page précédente. Tout en oubliant de vérifier que le nombre ne devient pas négatif Puis il affiche toutes les pages suivantes (donc, 10 par 10) jusqu'à épuisement. etc... Bref, si tu veux mon avis. C'est bourrin et mal fait. Imagine que tu as 500 000 articles et que tu vas à la 400 000e. Ben le con de script va parcourir les 399 999 avant d'afficher un truc. Avec un Limit dans la requête, ça t'épargnera déjà quelques longueurs ... Dans sa voiture rouge et jaune |
Merci pour ta reponse wiwimagique,
ce que je voudrais en fait, c'est afficher tout le contenu de ma base de données par page (10 articles par page), avec en bas des pages des numeros 1, 2, 3 etc (autant de numeros qu'il doit y avoir de pages) hyperactifs, renvoyant respectivement à la 1ere, 2e, 3e, etc page des artciles affichés. Mon pb se situe au niveau de l'algorithme en fait: debut Je fixe le nombre d'articles par page A l'aide de la commande limite je recupere les articles de ma base de donnees par paquets de 10 et je les affiche dans des pages, jusqu'a ce que tous les articles soient affiches ... fin |
| 17/05 22h06 | [Outils] Freewares pour la création de sites | Webmaster |
| 13/11 01h31 | [Dico] Dictionnaires - Définitions - Extensions | Internet utile |
| 25/04 00h24 | Traduire un logiciel open-source (poEdit) | Logiciels |
| 27/03 16h03 | [PHP] Méthodes de débogage | PHP |
| 27/03 18h18 | Il est possible de récupérer le code source PHP d'un site | Mythes et légendes |
| 03/07 11h46 | Php Code defaillant / pagination | 5 |
| 11/06 11h50 | Verification de champ php/java script | 14 |
| 08/03 14h08 | Class et objet php explication ??? | 2 |
| 28/10 15h22 | [PHP] Probleme script | 2 |
![]() | All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la... | Catégorie: Vidéo Licence: Freeware/gratuit |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données... | Catégorie: Serveurs Licence: Open Source |