Foros del Web » Programando para Internet » PHP »

Conocer cantidad de registros como *si no estuviera* el LIMIT

Estas en el tema de Conocer cantidad de registros como *si no estuviera* el LIMIT en el foro de PHP en Foros del Web. Estoy paginando unos resultados (usando paginator) e incluí una condición para que la barra de navegación del paginado no se vea en caso que no ...
  #1 (permalink)  
Antiguo 22/09/2009, 11:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Conocer cantidad de registros como *si no estuviera* el LIMIT

Estoy paginando unos resultados (usando paginator) e incluí una condición para que la barra de navegación del paginado no se vea en caso que no sea necesario (por existir sólo una página de resltados) tal que:

Código:
	if(mysql_affected_rows() >= $_pagi_cuantos){
		echo "<p>".$_pagi_navegacion."</p>";
	}
$_pagi_cuantos lo tengo definida a 5, por lo que se mostrará sólo cuando existan 5 o más registros. Eso funciona bien para todas las páginas (en caso de cumplir la condición) salvo para la última donde desaparece. Y es que, claro, para un ejemplo de 8 registros, mysql_affected_rows() vale 5 para la primer página pero 3 para la segunda... entonces me desaparece la barra. Por lo tanto, vuelvo a reformulo la pregunta del título: ¿Cómo hago para conocer previamente la cantidad de registros que me traería el query si no estuviese presente el LIMIT?

De hecho paginator lo hace ya que $_pagi_info me dice desde el 1 hasta el 5 de un total de 8... pero no sé como aislar ese valor (8)

¿Ideas?

PD: eso me pasa por hacer por primera vez un paginado en PHP (hasta ahora no lo necesité) utilizando un prefabricado en vez de meterme a hacerlo yo mismo a pulmón :-/

PD2: Veo que tengo una incoherencia ya que si son exactamente 5 los resultados la barra se mostraría igual cuando no es necesario... eso lo veo luego

PD3: Se me ocurre hacer un array de $_pagi_info y mediante array_pop() obtener el último, pero me parece un poco trucho ¿no?
__________________
...___...

Última edición por AlZuwaga; 22/09/2009 a las 11:23
  #2 (permalink)  
Antiguo 22/09/2009, 11:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Conocer cantidad de registros como *si no estuviera* el LIMIT

Desconzco muy bien el paginator, pero revisa en el código fuente debe de tener una variable donde almacene el total de registros, ya que la variable $_pagi_navegación es construida de estas variables.

Saludos.
  #3 (permalink)  
Antiguo 22/09/2009, 11:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Conocer cantidad de registros como *si no estuviera* el LIMIT

Cita:
Iniciado por AlZuwaga Ver Mensaje
¿Cómo hago para conocer previamente la cantidad de registros que me traería el query si no estuviese presente el LIMIT?
Hay una funcion que te puede ayudar mysql_num_rows()

Te sugiero que si quieres paginar usa PHPPaging, hablan muy bien de ella, y si tienes dudas el creador esta en este foro que es okram. Aqui esta el foro donde el posteo el codigo http://www.forosdelweb.com/f18/aport...ing-v2-638538/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 22/09/2009, 11:54
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Conocer cantidad de registros como *si no estuviera* el LIMIT

abimaelrc, mysql_num_rows() la probé y tiene el mismo "problema" que mysql_affected_rows()

GatorV, efectivamente, la solución iba por ese lado. Y la variable es $_pagi_totalReg Y ya veo como funciona, hace una nueva consulta con un SELECT COUNT(*) FROM la-sql-que-se-le-ha-pasado-como-argumento

Pensé que se podría con "un algo" nativo de PHP, pero parece que no.
Gracias!
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:24.