Foros del Web » Programando para Internet » PHP »

problema con count

Estas en el tema de problema con count en el foro de PHP en Foros del Web. Buenos dias a todos solo tengo una duda haber si me podian ayudar: tengo este codigo que me muestra todo el total de cursos dados ...
  #1 (permalink)  
Antiguo 17/11/2011, 14:19
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
problema con count

Buenos dias a todos solo tengo una duda haber si me podian ayudar:

tengo este codigo que me muestra todo el total de cursos dados de alta y el total de cuantos son, el problema es que queria saber si se puede hacer mas corto esto:
Código PHP:

 <html>
         <head>
              <title>Problema</title>
        </head>
    <body>

     
    Estos son los cursos disponibles:<br>
    <?php
    $conexion
=mysql_connect("localhost","root","esme25") or
    die(
"Problemas en la conexion");
    
mysql_select_db("phpfacil",$conexion) or
    die(
"Problemas en la selección de la base de datos");
    
$registros=mysql_query("select codigo,nombrecur from cursos2",$conexion) or
    die(
"Problemas en el select:".mysql_error());
    while (
$reg=mysql_fetch_array($registros)){
    
?>

      <?php echo $reg['nombrecur'];?><br>

       <?php }?>


    <br>
       <?php
    $conexion
=mysql_connect("localhost","root","esme25") or
    die(
"Problemas en la conexion");

    
mysql_select_db("phpfacil",$conexion) or die ("Problemas en la selección de la base de datos");
    
$registros=mysql_query("select count(*) as nombrecur from cursos2",$conexion
    or die(
"Problemas en el select:".mysql_error());
    
$reg=mysql_fetch_array($registros);



    echo 
"El total de cursos es de :".$reg['nombrecur'];?>

    </body>
          </html>
  #2 (permalink)  
Antiguo 17/11/2011, 14:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema con count

Claro no es necesario que hagas dos veces la conexión / seleccionar la DB, y si vas a seleccionar todos los cursos para mostrarlos, usa mysql_num_rows() para obtener el total de resultados en lugar de hacer el segundo count.

Saludos.
  #3 (permalink)  
Antiguo 17/11/2011, 14:26
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: problema con count

me pordrias ayudar esque no se como quedaria el codigo
  #4 (permalink)  
Antiguo 17/11/2011, 14:29
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: problema con count

Hola:

Quizás con esto te vale:

Código PHP:
mysql_connect("localhost","root","esme25");
echo 
"El total de cursos es: ".mysql_num_rows(mysql_query("SELECT * FROM tbl_MiTabla")); 
Un saludo.
__________________
A. Uttranadhie
  #5 (permalink)  
Antiguo 17/11/2011, 14:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema con count

¿Ayudar con que? Ya te he dicho lo que tienes que hacer, solo es cuestión de que lo realices, aqui te dejo una referencia a la función que debes de usar:

http://us3.php.net/mysql_num_rows

Te recomiendo veas el Manual de PHP del foro, la sección de bases de datos te puede servir para lo que quieres hacer.

Saludos.
  #6 (permalink)  
Antiguo 17/11/2011, 14:42
 
Fecha de Ingreso: noviembre-2011
Ubicación: Paris
Mensajes: 450
Antigüedad: 12 años, 5 meses
Puntos: 7
Respuesta: problema con count

Gracias a los 2 ya lo solucione, solo que cual es la diferencia de count y mysql_num_rows si los 2 hacen el mismo trabajo
  #7 (permalink)  
Antiguo 17/11/2011, 15:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema con count

Parece ser el mismo trabajo, pero no lo es, COUNT() en SQL cuenta las filas en base al query que mandes, y mysql_num_rows() te da el número total de filas que te dio el query.

Parecen lo mismo pero los usos son diferentes, en tú caso ya que estas mostrando el recordset completo te conviene usar mysql_num_rows, en cambio si paginaras tu resultado (usando LIMIT por ejemplo) mysql_num_rows te daría un valor diferente a COUNT.

Saludos.

Etiquetas: count, html, mysql, registro
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 14:27.