64 votes

CodeIgniter Active Record - Récupère le nombre de lignes retournées

Je suis très nouveau dans CodeIgniter et Active Record en particulier, je sais bien le faire en SQL normal mais j'essaie d'apprendre.

Comment sélectionner des données dans l'une de mes tables, puis compter le nombre de lignes renvoyées à l'aide de la classe CodeIgniters Active Record?

Merci, Tom

127voto

Residuum Points 6345

Regardez les fonctions de résultat ici :

 $this->db->from('yourtable');
[... more active record code ...]
$query = $this->db->get();
$rowcount = $query->num_rows();
 

38voto

Zack Points 1777

AND, si vous voulez juste obtenir le nombre de toutes les lignes d'une table

 $table_row_count = $this->db->count_all('table_name');
 

32voto

Yura Loginov Points 141

Cela vous va modèle:

 public function count_news_by_category($cat)
{
    return $this->db
        ->where('category', $cat)
        ->where('is_enabled', 1)
        ->count_all_results('news');
}
 

C’est un exemple de mon projet actuel.

Selon l' analyse comparative, cette requête fonctionne plus rapidement que si vous procédez comme suit:

 $this->db->select('*')->from('news')->where(...); 
$q = $this->db->get(); 
return $q->num_rows();
 

16voto

pbarney Points 561

utiliser count_all_results

 echo $this->db
       ->where('active',1)
       ->count_all_results('table_name');
 

9voto

ascotan Points 579

Je dois juste lire le fils de la documentation!

$ query-> num_rows ();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X