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
| <?php
$start = 0; // valeur par défaut
$limit = 25; // valeur par défaut
if (isset($_REQUEST['start']) && is_numeric($_REQUEST['start'])) $start = $_REQUEST['start'];
if (isset($_REQUEST['limit']) && is_numeric($_REQUEST['limit'])) $limit = $_REQUEST['limit'];
// construction de ta requête avec les valeurs de pagination
$sql = '
SELECT [yourfields]
FROM [yourtable]
WHERE [youroptions]
ORDER BY [yourorders]
LIMIT '.$start.','.$limit;
//calcul du nombre d'éléments total.
$count = $db->fetch_rows($db->query('SELECT COUNT(1) AS COUNT FROM [yourtable] WHERE [youroptions]'))[0];
//recherche de la page de données.
$data = $db->fetch_assoc($db->query($sql)); // utilise try catch à la place de or log_error_db(__FILE__, __LINE__, $db->error());
if (is_array($data) || null != $count) {
if (null == $count) {
$count = count($data);
}
$response = array(
'success' => true,
'results' =>$count,
'count' =>count($data),
'rows'=> $data
);
} else {
$response = array(
'success' => false,
'error' => $db->error(),
'results' =>0,
'count' =>0,
'rows'=> null
);
}
header('Content-Type: text/javascript');
echo $json->encode( $response );
// il est déconseillé de fermer le tag php (risque d'introduction de caractères parasites lors des includes
//?> |
Partager