Foros del Web » Programando para Internet » PHP »

Conteo de registros trae 1 solo reg, y hay mas de 1

Estas en el tema de Conteo de registros trae 1 solo reg, y hay mas de 1 en el foro de PHP en Foros del Web. Saludos Realmente no se que ocurre con u codigo que tengo, no tengo esto bajo un framework pq es un formulario de registro sencillo que ...
  #1 (permalink)  
Antiguo 24/03/2011, 14:40
 
Fecha de Ingreso: octubre-2005
Mensajes: 76
Antigüedad: 18 años, 6 meses
Puntos: 5
Conteo de registros trae 1 solo reg, y hay mas de 1

Saludos

Realmente no se que ocurre con u codigo que tengo, no tengo esto bajo un framework pq es un formulario de registro sencillo que se usara un solo y unico dia para recoger cierta informacion.

Ya el formulario guarda en una BD mysql y los estoy consultando. En otra pagina muestro los datos de una SQL, los datos se ven en pantalla en una tag html table y arriba al tope de este, muestro cuantos registros son.

Pero siempre indica 1 como nro de registros, y en la tabla debajo de este tengo son 3 registros.
El codigo lo tengo en un switch de php:

case "2": // Solo Charlas con Equipo
$cantidad = "select count(id) from registro where solo_charlas=1 and con_equipo=1";
$total= mysql_query($cantidad) or die(mysql_error());
$total_registros = mysql_num_rows($total);

echo "<strong>Solo Charlas con Equipo:</strong> ".$total_registros."<br /><br />";

$consulta = "select cedula, tipo, marca, os_actual, hora from registro where solo_charlas=1 and con_equipo=1";
$resultado= mysql_query($consulta);

if ($registro=mysql_fetch_array($resultado)) // Si existe el registro
{
?>
<table border="0">
<tr><th width="100">Cedula</th><th width="90">Tipo</th><th width="80">Marca</th><th width="90">OS Actual</th><th width="120">Hora</th></tr>
</table>
<?php
do{
?>
<div id="tabla">
<table border="0">
<tr>
<td width="150"><span class="resaltar"><?php echo $registro['cedula']; ?></span></td>
<td width="150"><span class="resaltar"><?php echo $registro['tipo']; ?></span></td>
<td width="150"><span class="resaltar"><?php echo $registro['marca']; ?></span></td>
<td width="300"><span class="resaltar"><?php echo $registro['os_actual']; ?></span></td>
<td width="120"><span class="resaltar"><?php echo $registro['hora']; ?></span></td>
</tr>
</table>
</div>
<?php
}while($registro=mysql_fetch_array($resultado));
}else{
echo "No se han podido traer los registros de la BD";
}
break;

La SQL la he probado en la ejecucion de SQL del phpMyAdmin y efectivamente me indica como valor 3, pero esa misma sql que tiene el Count no se que ocurre, en la pagina solo me muestra es un 1, lo cual es ilogico ya que los 3 registros tienen los mismos datos de filtrado (incluso en la tabla de la BD solo estan por los momentos esos 3 registros) por lo que deberia de indicar un 3 en vez de un 1, la sql es simple como se observa, asi que no se pq saca un 1 en vez de 3 o mas, en el caso de ingresar mas registros (antes eran 2).
  #2 (permalink)  
Antiguo 24/03/2011, 14:53
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Conteo de registros trae 1 solo reg, y hay mas de 1

Saludos

Es por que la función mysql_num_rows te retorna el numero de filas que según tu sentencia es uno, para ello lo puedes corregir el query de la siguiente manera

Código PHP:
Ver original
  1. //ANTES
  2. $cantidad = "select count(id) from registro where solo_charlas=1 and con_equipo=1";
  3. //CORREDIGO
  4. $cantidad = "select id from registro where solo_charlas=1 and con_equipo=1";
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 24/03/2011, 14:58
 
Fecha de Ingreso: octubre-2005
Mensajes: 76
Antigüedad: 18 años, 6 meses
Puntos: 5
Respuesta: Conteo de registros trae 1 solo reg, y hay mas de 1

Gracias Nano_ eso funciono bien.

Tambien habia hecho ya esto que tambien funciono bien:
Cambie: $total_registros = mysql_num_rows($total);
Por: $total_registros = mysql_result($total,0,0);

Y eso tambien hizo que funcionara, como no conozco el alcance detallado de muchas funciones de PHP a MySQL, agradeceria si alguien pudiese detallar el porque de estos casos.

Gracias! muy amable.

Etiquetas: conteo, reg, registros
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 19:50.