Bonjour,
Je voudrais savoir comment on fait le type de navigation par pages. Genre :
< 1 2 3 >
en bas d'une page pour que je ne mette pas tous mes enregistrement sur une même page avec scroll interminable.
Merci beaucoup,
<?
include("local.inc");
$connexion = mysql_connect($host, $user, $password)
or die ("Connexion au serveur impossible !");
$db = mysql_select_db($db, $connexion)
or die ("La base de donnée ne peut pas être sélectionnée");
//sélection total des données
$req_limit = mysql_query("Select * from work");
$resultat = mysql_numrows($req_limit);//mysql_numrows donne le résultat de la requête
// maintenant on va se servir du résultat pour limiter la sortie
$limite_page = '10'; //choisissez le nombre de messages par pages
$nombre_page = $resultat / $limite_page; // ici on divise le total par le nombre de messages que vous avez choisi
$nombre = ceil($nombre_page); // on arrondi le nombre de page pour ne pas avoir de virgules, ici au chiffre supérieur
$nombre = $nombre_total - 1; // on enlève 1 au nombre de pages, car la 1ere page est celle affiché ne fait pas partie des pages suivantes
if(isset($_GET[numero_page]) || $_GET[numero_page] != '0' ) // si la variable numéro de page a une valeur ou est différente de 0
{
$limite_mysql = $limite_page * $_GET[numero_page]; // on multiplie votre limite par le numéro de la page passée par l'url
}
else{ // pas de variable numero_page
$limite_mysql = '0'; // la limite est de 0
}
/*----------------------------------------------------------------
on met les liens pour éviter de les oublier ;-)
------------------------------------------------------------------*/
if( $nombre != '0' && empty($_GET[numero_page]))// si le nombre de page n'est pas 0 et si la variable numero_page n'est pas définie
{
print '<a href="test.php?numero_page=1">Page suivante</a>'; // on passe la variable numéro page à 1
}
// dans cette condition, la variable numero_page est incrémenté et est inférieure à $nombre
elseif($nombre !='0' && isset($_GET[numero_page]) && $_GET[numero_page] < $nombre)
{
$suivant = $_GET[numero_page] + 1; // on ajoute 1 au numero de page en cours
print '<a href="test.php?numero_page='.$suivant.'">Page suivante</a>'; //le lien pour les pages suivantes
print ' <a href="javascript:history.back();">Page précédente</a>'; // retour page précédente, ici version javascript
}
// dans cette condition, le lien qui sera affiché lorsque le nombre de page a été atteint
elseif( $nombre !='0' && isset($_GET[numero_page]) && $_GET[numero_page] >= $nombre )
{
print '<a href="javascript:history.back();">Page précédente</a>';
}
$req = mysql_query("SELECT w_name from work Order by w_date Desc Limit $limite_mysql , $limite_page") or die ("erreur requête");
while ($ligne = mysql_fetch_array($req))
{extract($ligne);
echo"$w_name";}
?>
bon je suppose que c'est dans la dernière partie du code mais je comprend pas tout...