activerecord - query - select count codeigniter
Registro activo de CodeIgniter: obtenga el nĂºmero de filas devueltas (10)
Soy muy nuevo en CodeIgniter y Active Record en particular, sé cómo hacerlo bien en SQL normal, pero estoy tratando de aprender.
¿Cómo puedo seleccionar algunos datos de una de mis tablas y luego contar cuántas filas se devuelven utilizando la clase CodeIgniters Active Record?
Gracias, Tom.
Echa un vistazo a las funciones de resultados here :
$this->db->from(''yourtable'');
[... more active record code ...]
$query = $this->db->get();
$rowcount = $query->num_rows();
Esta también es una función muy útil si está buscando filas o datos con la condición afectada
function num_rows($table)
{
return $this->db->affected_rows($table);
}
Este segmento de código para su modelo
function getCount($tblName){
$query = $this->db->get($tblName);
$rowCount = $query->num_rows();
return $rowCount;
}
Esto es para el control
public function index() {
$data[''employeeCount'']= $this->CMS_model->getCount("employee");
$this->load->view("hrdept/main",$data);
}
Esto es para ver
<div class="count">
<?php echo $employeeCount; ?>
</div>
Este código se usa en mi proyecto y funciona correctamente.
Esto va para tu modelo:
public function count_news_by_category($cat)
{
return $this->db
->where(''category'', $cat)
->where(''is_enabled'', 1)
->count_all_results(''news'');
}
Es un ejemplo de mi proyecto actual.
De acuerdo con la benchmarking esta consulta funciona más rápido que si hace lo siguiente:
$this->db->select(''*'')->from(''news'')->where(...);
$q = $this->db->get();
return $q->num_rows();
Puedes hacer esto de dos maneras diferentes:
1. $this->db->query(); //execute the query
$query = $this->db->get() // get query result
$count = $query->num_rows() //get current query record.
2. $this->db->query(); //execute the query
$query = $this->db->get() // get query result
$count = count($query->results())
or count($query->row_array()) //get current query record.
Si solo necesita el número de filas en una consulta y no necesita los datos de fila reales, use count_all_results
echo $this->db
->where(''active'',1)
->count_all_results(''table_name'');
Solo tengo que leer el docs hijo!
$query->num_rows();
Y, si solo quieres obtener un recuento de todas las filas en una tabla
$table_row_count = $this->db->count_all(''table_name'');
$this->db->select(''count(id) as rows'');
$this->db->from(''table_name'');
$this->db->where(''active'',1);
$query = $this->db->get();
foreach($query->result() as $r)
{
return $r->rows;
}
function getCount(){
return $this->db->get(''table_name'')->num_rows();
}