contenu json pagination php
Bonjour,
j'ai besoin d'aide pour optimiser mon petit script php qui me permet de récupérer du json,
tout fonctionne bien et je suis à l'étape de la pagination.
Si je passe les infos via l'url par exemple index.php?page=1, 2, 3 ça fonctionne très bien
puis j''essaye d'ajouter au bas les pagination tel que 1 2 3, j'ai pu arriver mais j'ai un soucis lorsque je veux récupérer le nombre d'item pour faire cela,
normalement il y a 16 entré dans mon script, et si je tape un valeur de 16 pour la pagination le calcul ce fait et donc diviser par 4 ça me fait bien 4 pages
mais je dois récupérer automatiquement ce nombre normalement il me semble que ce nombre je la récupéré dans $i++ mais quand je met en bas ça bug un peux ...
et donc j'ai du faire cette variable -> $valeurManuelle et mettre la valeur dedans, mais c'est pas pratique
pouvez vous voir mon script et me dire si il y a un bug? Au bas? si ça vous dérange pas?
Merci
Code:
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<?php
//error_reporting(0);
$json_url = "";
// pagination
$page = $_GET['page'];
$nbParPage = 4;
if (empty($_GET['page']) OR !is_numeric($_GET['page'])) {
$debut = 0;
$fin = count($json_url->results);
} else {
$debut = ($page - 1) * $nbParPage;
$fin = $debut + $nbParPage;
}
$json = file_get_contents($json_url);
$articles = json_decode($json, TRUE);
?>
<h1>Les infos</h1>
<hr>
<?php
$i = 0;
foreach(array_slice($articles['results'], $debut) as $key=>$val){
if ($i < $nbParPage){
?>
<h5><a href="<?php echo $val['link'] ?>" target="_blank"><?php echo $val['title_value'] ?></a></h5>
<p><?php echo $val['link/_text'] ?></p>
<p><em><?php echo $val['number/_source'] ?></em></p>
<a href="<?php echo $val['link'] ?>" target="_blank"><img src="<?php echo $val['unveil_image'] ?>" width="150" height="85"></img></a>
<hr>
<?php
}
$i++;
}
?>
<?php
$valeurManuelle = '16';
$nb_pages = ceil($valeurManuelle / $nbParPage);
echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
if ($i == $page )
echo " $i";
else
echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]</p>';
?> |