Pagination (1/4)
Découper un listing en plusieurs pages
Suite à une sélection dans une base de données, vous vous retrouvez souvent avec un grand nombre d'enregistrements à afficher... trop pour une seule page... alors découpons :
1. Le Listing
Pour mémoire, vous pouvez lister votre table de la manière suivante : _connexion ?
etape_1.asp
<!-- #include file="_connexion.asp"--> <HTML><BODY><% ' sélectionne toutes les fiches de la table SQL="SELECT * FROM [MA_TABLE]" Set RS = server.createobject("ADODB.Recordset") RS.Open SQL,Conn , 3, 3' tant qu'il y a des fiches while not RS.eof ' affiche un champ response.write RS("champ") & "<br>" ' fiche suivante RS.MOVENEXT wend RS.close : set RS=nothing%> </BODY></HTML><% conn.close : Set conn=nothing %>
etape_1.php
<? include("_connexion.php") ; ?> <HTML><BODY><? // sélectionne toutes les fiches de la table $query="SELECT * FROM MA_TABLE"; $result = mysql_query($query);// tant qu'il y a des fiches while ($val = mysql_fetch_array($result)) { // affiche un champ echo $val["champ"]."<br>"; } ?> </BODY></HTML><? mysql_close(); ?>
2. Le Compteur
On peut donc facilement interrompre cette liste à un certain rang en comptant les enregistrements affichés puis mettre un lien "Suite" s'il en reste :
etape_2.asp
<!-- #include file="_connexion.asp"--> <HTML><BODY><% ' sélectionne toutes les fiches de la table SQL="SELECT * FROM [MA_TABLE]" Set RS = server.createobject("ADODB.Recordset") RS.Open SQL,Conn , 3, 3 Nmax = 10 ' nombre par page Ncur = 0 ' n° de la fiche courante ' tant qu'il y a des fiches while not RS.eof and Ncur<Nmax ' affiche un champ response.write RS("champ") & "<br>" ' fiche suivante RS.MOVENEXT ' une de plus Ncur = Ncur + 1 wend%> <br><% ' Navigation ' Des fiches après ? if not RS.eof then%> <A href="?num=<%=Ncur%> ">Suite</A><%end if RS.close : set RS=nothing%> </BODY></HTML><% conn.close : Set conn=nothing %>
etape_2.php
<? include("_connexion.php") ; ?> <HTML><BODY><? // sélectionne toutes les fiches de la table $query="SELECT * FROM MA_TABLE"; $result = mysql_query($query); $Nmax = 10; // nombre par page $Ncur = 0; // n° de la fiche courante // tant qu'il y a des fiches while (($val = mysql_fetch_array($result)) && ($Ncur<$Nmax)) { // affiche un champ echo $val["champ"]."<br>"; // une de plus $Ncur++; } ?> <br><? // Navigation // Des fiches après ? if($val) { ?> <A href="?num=<? echo $Ncur; ?> ">Suite</A><? } ?> </BODY></HTML><? mysql_close(); ?>
Pour l'instant, évidemment, le lien Suite ne modifie pas l'affichage ! voyons comment faire...
Didier le
07/06/2004
(271 371 hits)
Au fil des news Adobe - Adobe annonce MAX 2009 ! [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3 Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ... PHP - News avec photo - Système de gestion - affichage Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ... Dreamweaver Php Mysql - Région répétée imbriquée Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ... Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ... PHP - Le Coach PHP sur Visual Studio .NET - Ecrire une application .NET utilisant MySQL PHP - Utilisation de PHP dans le monde Microsoft Magazines - Le n° 119 de Programmez est disponible Adobe - Adobe annonce Photoshop Marketplace [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0 Mis à jour le 20/04/2009 Captcha «maison» sans extension - Et en plus, c'est gratuit ;) Un ami m'a demandé de l'aide ce matin pour insérer un captcha dans un formulaire pour son site ... Dreamweaver CS4 - Photoshop CS4 - Alliance parfaite pour la gestion des images Pour changer un peu des pages de code, je vous propose de voir ensemble, la fonctionnalité très ... JavaScript - Calcul automatique d'une facture Amélioration du Search MOSS: Manipulation XSL - Utilisation du XSL dans l'affichage des résultats Parmi tous les articles sur l'amélioration du moteur de recherche de Microsoft Office SharePoint ... Outils - Editeur d'icônes IcoFX Magazines - Le n°118 de Programmez est disponible JavaScript - Imprimer une autre page que celle en cours CSS - div pour imiter frame (Bandeau/Menu FIXES) [MAJ] [PHP] Un calendrier très complet - ajout des événements au calendrier PowerShell - Winforms pour l'aide des commandes GET PowerShell Adobe - Adobe Photoshop Lightroom 2 est offert .... Amélioration du Search MOSS: synonyme et Best Bet - La gestion des synonymes dans MOSS Search Le moteur de recherche de MOSS permet la configuration d'une liste de synonymes. Nous verrons donc ... AJAX - récup champs formulaires pour POST en AJAX PowerShell - Un windows Forms pour SharePoint en PowerShell Sondage associatif (compatibilité) - Qui va bien avec qui ? Cette fois, c'est un petit sondage que je vous propose. Il pourra bien sûr être adaptée à vos ... ASP - Hashage MD5 (cryptage irréversible) Adobe - 80% de réduction sur les versions Adobe Creative CSharp - Interroger un serveur Whois CSharp - Equivalent de la fonction PHP htmlentities() CSharp - Somme de contrôle CRC32 Magazines - Le n°117 de Programmez est disponible Hebergement - Hébergement ASP et ASP.Net MOSS - Mon Profil - Personnalisation des profils utilisateurs de MOSS La gestion des profils utilisateurs de SharePoint fait partie des fonctionnalités de base de ... Dreamweaver CS3 + Php + Mysql - Le Jeu d'Enregistrements - Les fondamentaux Part-3 La 3ème partie des fondamentaux, traitera essentiellement du jeu d'enregistrements ou Recordset. ... Mon mini-site @ Home - avec Windows, Free, Wamp & DynDNS Envie d'héberger votre petit site chez vous, sur votre ordinateur ? de partager des fichiers avec ... Magazines - Le n°116 de Programmez est disponible Recevoir ses identifiants par mél - Bien pratique pour les petites têtes Encore une question posée sur le forum et zou... Le problème est simple : On a oublié ses ... ASP.NET - code pour le bouton enregistrer Microsoft - Grand jeu-concours MSDN : l'indice d'ASP-PHP.net !