1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?
// nombre de résultat par page
$MaxResult = 10; // ici tu définis le nombre de résultats affichés par page
$Q_sql = "SELECT * FROM ta_table"; // ici tu fais un select total
$res_x = mysql_query($Q_sql);
$nb_x = mysql_num_rows($res_x); // ici tu as le nombre total de réponses
$NbPages = ceil($nb_x/$MaxResult); // ici tu divises le total par le nombre maxi que tu veux afficher par page. ce qui te donneras le nombre de pages (CQFD)
if(!isset($NumPage)){ $NumPage =1;} // ici , à l'affichage, si le numéro de page n'est pas défini, on l'initialise
if(!isset($Deb)){$LimitDeb = 0;} else { $LimitDeb = $Deb;} // sinon, on définit la limite
// Liens des pages
// ceci va afficher les numéros de pages
$i = 1;
$LDeb = 0;
while($i < ($NbPages +1)){
if($i != $NumPage){
$LinkPages.= "<a href='index.php?action=ton_fichier_de_resultat&Deb=" .$LDeb."&NumPage=". $i."' target='_top'>$i</a>";
}
else {$LinkPages.= "<b><font color='#FFFFFF'>$i</font></b>";}
if($i != $NbPages){$LinkPages.= " | ";}
$LDeb =($LDeb + $MaxResult );
$i++;
}
$NbResult =" LIMIT $LimitDeb , $MaxResult"; // ici on va donc afficher les 10 prochains résultats en tenant compte de la page
// ceci sera concaténé à la requete finale plus bas
//
//ici, on fait une dernière requete,(c'est celle qui affichera les résultats) mais on ajoute l'index de début + le nombre de résults ($Maxresult)
$res = mysql_query($Q_sql.$NbResult);
$nb = mysql_num_rows($res); // ici on aura le nombre de résultats retournés pour l'affichage (10 maxi mais il peut y en avoir moins sur la dernière page)
// maintenant on passe à l'affichage du résultat
if($nb == 0){ // si il n'y a pas de résultat on affiche un message
//
// ton code ici
//
}
else{ //si il ya des résultats on les affiches
$i = 0;
while ($i < $nb){
//
// ici tu affiches les résultats
//
}
}
// maintenant on affiche les liens des pages :
echo $LinkPages ;
?> |
Partager