En un escenario, necesito saber el recuento del conjunto de registros que devolverá una consulta, que en codeigniter puede ser hecho por $query->num_rows()
o $this->db->count_all_results()
. ¿Cuál es mejor y cuál es la diferencia entre estos dos?
Respuesta
Con num_rows()
primero realiza la consulta, y luego puede comprobar cuántas filas tiene. count_all_results()
, por otro lado, solo le proporciona el número de filas que generaría su consulta, pero no le proporciona el resultado real.
// num rows example
$this->db->select('*');
$this->db->where('whatever');
$query = $this->db->get('table');
$num = $query->num_rows();
// here you can do something with $query
// count all example
$this->db->where('whatever');
$num = $this->db->count_all_results('table');
// here you only have $num, no $query
$this->db->count_all_results
es parte de un Active Record consulta (preparación de la consulta, sólo para devolver el número, no los resultados reales).
$query->num_rows()
se realiza en un resultset object (después de devolver los resultados del DB).
entonces me parece mejor usar 'if ($ this-> db-> count_all_results()> 0 {// do stuff}'? – Kumar
Si todo lo que te importa es el número de resultados encontrados, entonces sí –
Which one is better and what is the difference between these two
Es casi imposible para mí, alguien solo quiere obtener el número de registros sin volver a tocar o realizar otra consulta que implicó el mismo recurso. Además, la memoria utilizada por estas dos funciones es la misma, después de todo, ya que con count_all_result
todavía realiza get
(en términos de CI AR), así que lo recomiendo usando el otro (o use count()) que le dio reutilización beneficios.
Existen dos formas de contar la cantidad total de registros que devolverá la consulta. En primer lugar este
$query = $this->db->query('select blah blah');
return $query->num_rows();
Esto devolverá el número de filas de la consulta trajo.
Segunda
return $this->db->count_all_results('select blah blah');
Simplemente count_all_results requerirá para ejecutar la consulta de nuevo.
Primero no está funcionando en mi caso ... –
También podemos utilizar
return count_all('table_name');
o
$this->db->from('table_name');
return $this->db->count_all_result();
o
$query = $this->db->query('select * from tab');
return $query->num_rows();
número total de resultados
$this->db->count_all_results('table name');
Simplemente como abajo;
$this->db->get('table_name')->num_rows();
Esto obtendrá el número de filas/registros. sin embargo, también puedes usar los parámetros de búsqueda;
$this->db->select('col1','col2')->where('col'=>'crieterion')->get('table_name')->num_rows();
Sin embargo, cabe señalar que se pueden ver los malos malos errores si la aplicación de la siguiente manera;
$this->db->get('table_name')->result()->num_rows();
- 1. problema con los "count_all_results" y "dónde" con Active Record en CodeIgniter
- 2. Diferencia entre Wakelock y FLAG_KEEP_SCREEN_ON?
- 3. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 4. Cuál es la diferencia entre $ (...) y `...`
- 5. ¿Cuál es la diferencia entre "Versión heredada" y "Versión estable"?
- 6. ¿cuál es la diferencia entre una clase y una biblioteca?
- 7. ¿Cuál es la diferencia entre + = y = +?
- 8. ¿cuál es la diferencia entre:.! y: r !?
- 9. ¿Cuál es la diferencia entre ".equals" y "=="?
- 10. Cuál es la diferencia entre $ y jQuery
- 11. Cuál es la diferencia entre = y: =
- 12. ¿Cuál es la diferencia entre existe y se define?
- 13. ¿Cuál es la diferencia entre dict() y {}?
- 14. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 15. ¿Cuál es la diferencia entre & # x00A0; y ?
- 16. ¿Cuál es la diferencia entre {0} y ""?
- 17. ¿Cuál es la diferencia entre .ToString (+) y ""
- 18. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 19. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 20. ¿Cuál es la diferencia entre " " y ""?
- 21. VBA: Diferencia entre y y +
- 22. Diferencia entre Java SE y Java EE
- 23. Diferencia entre "y" y && en Ruby?
- 24. ¿Cómo hacer un num_rows() en COUNT consulta en codeigniter?
- 25. MySQL: diferencia entre ', `,' y"
- 26. Diferencia entre objeto y *?
- 27. Diferencia entre. y #
- 28. Diferencia entre Entero (valor) y value.to_i
- 29. Diferencia entre == y === en JS
- 30. Diferencia entre '.' y "." en java
derecha, supongo que voy a usar 'count_all_results', necesito contar en la paginación, gracias por tonelada :) – Kumar
' count_all_results' es mucho mejor si usted está buscando desde el punto de vista de la optimización. –