Foros del Web » Programando para Internet » PHP »

count con mysql_num_rows muestra menos numeros de los existentes

Estas en el tema de count con mysql_num_rows muestra menos numeros de los existentes en el foro de PHP en Foros del Web. hola amigos, les cuento estoy contabilizando la cantidad de empleados con feriados pendientes (retornando solo un campo) y lo que me pasa es q cuando ...
  #1 (permalink)  
Antiguo 09/10/2012, 07:03
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 3 meses
Puntos: 0
count con mysql_num_rows muestra menos numeros de los existentes

hola amigos, les cuento estoy contabilizando la cantidad de empleados con feriados pendientes (retornando solo un campo) y lo que me pasa es q cuando lo ejecuto en msql directamente me muestra la cantidad correcta de empleados con feriados pendientes, pero al pasar este campo a mysql_num_rows este me termina imprimiendo en php solo un uno y yo en mi bd tengo dos empleados con feriados pendiente e insisto cuando ejecuto la misma consulta directo en sql me muestra el numero 2 q son realmente los dos empleados q tienen feriado pendiente

este es mi codigo:
Código:
$sqlPen ="select count(*) Pendientes 
from feriados_permisos
where fer_per='Feriado' 
and Estado = 'Pendiente'
and fecha_termino >= CURDATE(); ";

				 $resPendiente=mysql_query($sqlPen,Conectar::con()) or die( "Error en $resPendiente: " . mysql_error() );	
				$total = mysql_num_rows ($resPendiente);
				echo $total;
no entiendo en realidad pq me ocurre si en sql retorna la cantidad real de empleados con feriado pendiente y en php con mysql_num_rows me retorna un 1 porfavor amigos agradeceria mucho su guia.... quedo antento a sus respuestas, bye
  #2 (permalink)  
Antiguo 09/10/2012, 07:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: count con mysql_num_rows muestra menos numeros de los existentes

SI el SQL tiene el resultado esperado, tu problema es un error de programación en PHP.
Te paso al foro correspondiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/10/2012, 08:31
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: count con mysql_num_rows muestra menos numeros de los existentes

Analizandolo así rapidamente no creo que el comando este errado sino la manera como lo usas. Si dices en el select una consulta con count el resultado que te botara sera de 1, 15, 39, 20000 o x pero como tal el resultado de esta consulta es 1 porque es simple y llanamente un número (no un conjunto de registros), es decir el número que coloca la funcion count.

Opciones tienes las siguientes, imprime directamente con echo el resultado de la consulta o quita count en tu consulta y ahi si le aplicas el num_rows. Creo que con eso deberias solucionar tu problema.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 09/10/2012, 08:32
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años
Puntos: 336
Respuesta: count con mysql_num_rows muestra menos numeros de los existentes

Estas contando la cantidad de cuentas que haces (que será siemrpe 1)

me explico:

en mysql estas devolviendo un solo valor que es la cantidad de registros, luego en php cuentas cuantas filas obtuviste con esa consulta, la respuesta es solo 1

Hay 2 soluciones igualmente válidas:

1.- mostrar solo el resultado de mysql, ya que lo tienes no vale la pena contarlos:

$total = mysql_fetch_row ($resPendiente);
echo $total[0];

2.- contarlos con php, para eso debes cambiar la consulta:

$sqlPen ="select * from feriados_permisos
where fer_per='Feriado'
and Estado = 'Pendiente'
and fecha_termino >= CURDATE(); ";

saludos!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: count, existentes, menos, muestra, numeros, select, sql, campos
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 08:14.