4 enregistrement par page et autant de page que nécessaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 787 fois - Téléchargée 27 fois

Contenu du snippet

Ce code est pratique dans le cas où l'on veut afficher un nombre précis d'enregistrement par page (dans le cas d'un guest book par exemple) pour éviter de faire du scrolling....
c'est pas bien compliqué mais je sais que j'ai un peu bloqué pour trouver comment faire. en fait il suffit de connaitre la clause LIMIT de sql.
voilà j'espere que ça peut aider certains d'entre vous...

Source / Exemple :


<?php
//CONNECTION
include("db_connect.php");
// REQUETE ET BOUCLE POUR L'AFFICHAGE DE LA PAGE
$req="SELECT * FROM MESSAGE ORDER BY 1 desc LIMIT ".$nb_deb.",4";
echo "<br>";
$res=mysql_query($req);
//on affiche les quatres enregistrement
while($ligne=mysql_fetch_array($res))
	    {
	    $date=$ligne["date"];
	    $date_array=split('-',$date);
     	    echo "<table><tr>\n";
      	    echo "\t<td><font color=\"grey\">".$ligne["nom"]."</font></td>\n";
      	    echo "\t<td>".$ligne["mail"]."</td></tr>\n";
            echo "\t<tr><td>".$date_array[2]."-".$date_array[1]."-".$date_array[0]."</td>\n";
	    echo '<td><a href="'.$ligne["site"].'" target="_blank">';
      	    echo "\t".$ligne["site"]."</td>\n";
      	    echo "</a>";
       	    echo "\t</tr></table><table><tr>\n";
      	    echo "\t<td>".$ligne["texte"]."</td>\n";
 	    echo "</tr></table>\n";
      	    }
//on compte combien il y a d'enregistrement en tout
$req="SELECT * FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_num_rows($res);
echo "<table><tr>";
$n=$nb_message/4;
$nb_deb=0;
$num_page=0;
//on fait autant de lien que nécessaire
for ($i==1;$i<=$n;$i++)
    {
    $num_page=$num_page+1;
    echo "<td>\n";//ici en balacant la variable dans le GET on peut donc passer d'une page à l'autre
    echo "<a href=\"message.php?nb_deb=".$nb_deb."&num_page=".$num_page."\" target=contenu> ".$num_page." </a>\n";
    echo "</td>\n";
    $nb_deb=$nb_deb+4;
    }
echo "</tr></table>";
mysql_free_result; mysql_close;
?>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

si possible, tu m ecris, les tables et leurs champs qu on aura besoin,
SVP.
Merci.
Messages postés
137
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
16 décembre 2008

bonjour,

voila pour CUBATOR, un petit lien pour requete sur SQL Server !

http://www.devparadise.com/technoweb/code/sql/a436.php

Je ne sais pas si tu as déjà trouvé, j'éspère pour toi que oui ! :)
Messages postés
27
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
10 avril 2006

Salut,
y a effectivement moyen en t'inspirant de cette source;
l'algo est le même mais, comme tu le sais surement, php (dans ces versions 4 et <) a des fonctions pour chaque SGBD donc il faut que change les fonctions mysql par leurs équivalents pour SQL Server...
@ +
Messages postés
5
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
30 août 2004

slt
je veut faire la meme chose mais avec une base de donné sql server, alors je me suis bloqué à ce niveau
y'a il pas un moyen pour le faire
Messages postés
27
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
10 avril 2006

ok je te remercie pour ces explications !
je vais apprendre à me servir de mysql_result alors ! ;-)
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.