Foros del Web » Programando para Internet » PHP »

Contar los registros de una consulta

Estas en el tema de Contar los registros de una consulta en el foro de PHP en Foros del Web. Hola, tengo una consulta de varios campos de una tabla asi $link = Conectarse($host,$user,$pass,$data); $sql = "select cb_cabina1, cb_cabina2, cb_cabina3, cb_cabina4, cb_cabina5, cb_cabina6 from jos_comprofiler"; ...
  #1 (permalink)  
Antiguo 25/04/2009, 09:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 15 años, 6 meses
Puntos: 0
Contar los registros de una consulta

Hola, tengo una consulta de varios campos de una tabla asi

$link = Conectarse($host,$user,$pass,$data);
$sql = "select cb_cabina1, cb_cabina2, cb_cabina3, cb_cabina4, cb_cabina5, cb_cabina6 from jos_comprofiler";
$User=mysql_query($sql) or die (mysql_error());
$user_rows1 = mysql_fetch_array($User);
$numero = mysql_num_rows($User); // obtenemos el número de filas
echo 'El número de registros de la tabla es: '.$numero.'';

EL problema ese que $numero siemrpe me da 2 en pantalla, aunque todas las cabinas tengan registros, necesito el conteo porque para presentar los registros queiro que se cree una tabla solo para las cabinas que tengan registros.
  #2 (permalink)  
Antiguo 25/04/2009, 09:29
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar los registros de una consulta

Existe una función en sql llamada count(parametro).

Sin embargo, si numero te imprime 2 es por que tienes dos registros.
Que es lo que deseas hacer?

Puedes poner un ejemplo?

Un saludo fabian
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/04/2009, 09:57
 
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Contar los registros de una consulta

No, de hecho el problema es que tengo 6 cabinas y en cada una tengo un registro, asi.

cb_cabina1 1
cb_cabina2 2
cb_cabina3 3
cb_cabina4 4
cb_cabina5 5
cb_cabina6 6

al hacer un print de las cabinas y de el conteo me sale esto por pantalla

1 2 3 4 5 6

El número de registros de la tabla es: 2

PD: los valores de las cabinas son solo para probar

No logro que me de 6 o por lo menos 5 teniendo en cuenta que iniciaria el conteo en cero
  #4 (permalink)  
Antiguo 25/04/2009, 10:28
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar los registros de una consulta

Fabian....

No te estoy entendiendo mucho.
tu consulta inicial es esta:
select cb_cabina1, cb_cabina2, cb_cabina3, cb_cabina4, cb_cabina5, cb_cabina6 from jos_comprofiler;

de la cual quieres sacar el conteo de que? Esta consulta te bota 2 registros. Que tienen los registros?

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 25/04/2009, 10:46
 
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Contar los registros de una consulta

Cita:
Iniciado por huesos52 Ver Mensaje
Fabian....

No te estoy entendiendo mucho.
tu consulta inicial es esta:
select cb_cabina1, cb_cabina2, cb_cabina3, cb_cabina4, cb_cabina5, cb_cabina6 from jos_comprofiler;

de la cual quieres sacar el conteo de que? Esta consulta te bota 2 registros. Que tienen los registros?

Un saludo.
quiero sacar los resultados en una tabla, pero quiero que al construir esta tabla el tamaño sea exacto para el numero de registros, por ejemplo

si al hacer la consulta

select cb_cabina1, cb_cabina2, cb_cabina3, cb_cabina4, cb_cabina5, cb_cabina6 from jos_comprofiler;

y resulta que solo cb_cabina1 y cb_cabina2 tienen valores y las demas estan en blanco, la cuenta seria 2 si por el contrario cb_cabina1, cb_cabina2 y cb_cabina3 son las que tienen valores estando las demas de la consulta en blanco el conteo deberia ser 3.

este conteo lo necesito para hacer un while y construir una tabla de resultados exacta para los campos que tienen informacion, por ejemplo si solo tengo tres campos de la consulta con valores estando los otros en blanco usando el while construiria una tabla solo con tres columnas, espero que ahora si esta mas claro
  #6 (permalink)  
Antiguo 25/04/2009, 10:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar los registros de una consulta

Ahora entiendo.

Una posible solución es realizar tu consulta así:
select count(cb_cabina1), count(cb_cabina2), count(cb_cabina3), count(cb_cabina4), count(cb_cabina5),count(cb_cabina6) from jos_comprofiler;

Esto te retorna el numero de registros que encuentra valores. Cuando haya valores null devuelve un cero.

Desde php, puedes sumar los campos que sean diferentes de cero.

Puede haber otra solución.

Un saludo y espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 25/04/2009, 11:13
 
Fecha de Ingreso: octubre-2008
Mensajes: 43
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Contar los registros de una consulta

asi quedo el codigo
Código PHP:
$cont "select count(cb_cabina1), count(cb_cabina2), count(cb_cabina3), count(cb_cabina4), count(cb_cabina5),count(cb_cabina6) from jos_comprofiler";
$cuent=mysql_query($cont) or die (mysql_error());
$count mysql_num_rows($cuent);
echo 
"numero de registros $count"
y el resiltado en pantalla es

1 2 3 4 5 6

numero de registros 1

ahora el conteo dice que es solo 1, debe existir la manera de contar esto
  #8 (permalink)  
Antiguo 25/04/2009, 12:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Contar los registros de una consulta

Eso ya lo puedes preguntar en el foro de php.
Si no estoy mal, con:
while (i < mysql_num_fields)
if (mysql_fetch_row[i]>0)
$count = mysql_fetch_row[1] + $count;

Es algo similar.

Que haga un escaneo de las columnas, y cuando encuentre que es mayor a cero, se incremente un contador.

Pero como te digo, en el foro de php recibiras mejor ayuda.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 26/04/2009, 18:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Contar los registros de una consulta

Tema trasladado desde Bases de Datos

Función de la sección de Bases de Datos
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 06:39.