J'utilise codeigniter et la classe de pagination. C'est une question tellement fondamentale, mais je dois m'assurer que je ne manque pas quelque chose. Afin d'obtenir les éléments de configuration nécessaires pour paginer les résultats obtenus à partir d'une base de données MySQL, il est fondamentalement nécessaire d'exécuter la requête deux fois, n'est-ce pas? En d'autres termes, vous devez exécuter la requête pour déterminer le nombre total d'enregistrements avant de pouvoir paginer. Donc, je le fais comme:Pagination Codeigniter: Exécuter la requête deux fois?
Faites cette requête pour obtenir le nombre de résultats
$this->db->where('something', $something);
$query = $this->db->get('the_table_name');
$num_rows = $query->num_rows();
Alors je vais devoir le faire à nouveau pour obtenir les résultats avec la limite et offset. Quelque chose comme:
$this->db->where('something', $something);
$this->db->limit($limit, $offset);
$query = $this->db->get('the_table_name');
if($query->num_rows()){
foreach($query->result_array() as $row){
## get the results here
}
}
Je me demande simplement si je le fais bien parce que la requête doit toujours être exécutée deux fois? Les requêtes que j'utilise sont beaucoup plus complexes que ce qui est montré ci-dessus.
exige aussi les frais généraux beaucoup moins que de saisir l'ensemble record –