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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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>';
 
?>