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
| <?php
$delimiteur=';';//en CSV, pour les séparateurs, la convention française cest le ;, la convention internationale, cest la ,
$compteur_lignes=1;//initialisation du compteur de lignes
$compteur_pages=1;//initialisation du compteur de pages
$nb_lignes_par_page=20;//après tout, tu auras peut-être envie de configurer ça facilement...
if (isset($_GET['page'])) {//on a cliqué sur changer de page
$page_demandee = (int)$_GET['page'];
}
else{//on arrive
$page_demandee=1;
}
echo '<div>
<table>
<caption>csv</caption>
<tr><th>compteur</th><th>id</th><th>lettre</th><th>nom</th><th>gps_lat</th><th>gps_long</th><th>debut</th></tr>';
if (($handle = fopen('toto.csv', 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $delimiteur)) !== FALSE) {
if( $compteur_lignes>1 && ($compteur_lignes % $nb_lignes_par_page==1) ){//cela sappelle un modulo et cela repère les changements de page
$compteur_pages++;//on passe à la page suivante
}
if($compteur_pages==$page_demandee){//les n cas où l'on affiche la ligne
echo '<tr>';
echo '<td>'.$compteur_lignes.'</td>';
for ($c=0; $c < count($data); $c++) {
echo '<td>'.$data[$c].'</td>';
}//boucle des cellules
echo '</tr>';
}
elseif($compteur_pages>$page_demandee){//si tu as un fichier de 10 000 lignes, ça serait bien qu'il s'arrête quand tu as affiché la page que tu souhaites !
break;
}
$compteur_lignes++;
}//boucle des lignes
fclose($handle);
}
$der_page=$compteur_pages;//en sortie de boucle, la dernière page est la dernière valeur de compteur_pages
echo '</table>
<div>';
if($page_demandee>1){//si on affiche page 1, il ne faut pas de lien page précédente
echo '<span><a href ="stylus.php?page='.($page_demandee-1).'" title="Page Précédente" >Précédente</a></span>';
}
if($page_demandee<$der_page){//si on affiche dernière page, il ne faut pas de lien page suivante
echo '<span><a href = "stylus.php?page='.($page_demandee+1).'" title="Page Suivante"> Suivante </a></span>';
}
echo '</div></div>'; |
Partager