Foros del Web » Programando para Internet » PHP »

cantidad de registros en una tabla, duda con sentencia COUNT(*)

Estas en el tema de cantidad de registros en una tabla, duda con sentencia COUNT(*) en el foro de PHP en Foros del Web. hola gentes, tengo una duda que quisiera me aclararan. quiero hacer una consulta que me muestre la cantidad de registros que hay en una tabla ...
  #1 (permalink)  
Antiguo 05/02/2008, 12:32
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
cantidad de registros en una tabla, duda con sentencia COUNT(*)

hola gentes, tengo una duda que quisiera me aclararan.
quiero hacer una consulta que me muestre la cantidad de registros que hay en una tabla de mi base de datos, y se que lo puedo hacer asi:
Código PHP:
SELECT COUNT(*) FROM tabla
pues lo he probado en phpmyadmin y me muestra la cantidad de registros, pero no se como llevarlo a la practica, con puro php, pues intente mostrar el resultado con mysql_num_rows, pero no me funciona, me muestra 1.
al final termine haciendo justo lo que no queria:
Código PHP:
SELECT ID FROM tabla
y tuve que almorzarme el mysql_num_rows.

como lo puedo hacer?
cual de las dos formas es mejor, mas ligera?

gracias de antemano
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #2 (permalink)  
Antiguo 05/02/2008, 13:00
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
Re: cantidad de registros en una tabla, duda con sentencia COUNT(*)

Deberias de contar desde la base de datos:
Código PHP:
// conectas:
$sql "SELECT COUNT(*) FROM tabla;";
$rst mysql_query$sql ) or die( mysql_error() );
$row mysql_fetch_row$rst );
$totalRows $row[0]; 
Saludos.
  #3 (permalink)  
Antiguo 06/02/2008, 08:42
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de registros en una tabla, duda con sentencia COUNT(*)

hola, como siempre muy bien moderador, todo funciona bien, pero, tengo otra duda, pues con esto lo que quiero hacer es mostrar algunas estadisticas, que me quede algo asi:
Cita:
Tenemos un total de 98 noticias, con 142 comentarios. 3 categorias, 18 Subcategorias y 180 mensajes de contactos
entonces, como se puede ver, aqui estoy haciendo varias consultas, cada una muestra el numero de registros de cada tabla, pero, hay manera de hacer solo una consulta y lograr mostrar cuantos registros hay en cada tabla? y es factible hacerlo asi o es mejor dejarlo como esta?

ahora lo que tengo es esto:
Código PHP:
<?php
$sqlTotalNews 
mysql_query("SELECT COUNT(*) FROM noticias"$db_link) or die(mysql_error());
$news mysql_fetch_row($sqlTotalNews);
$totalNews $news[0];

$sqlTotalComents mysql_query("SELECT COUNT(*) FROM comentarios"$db_link) or die(mysql_error());
$coments mysql_fetch_row($sqlTotalComents);
$totalComents $coments[0];
// asi hasta un total de 5 consultas
?>
saludos y gracias mil como siempre
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 06/02/2008, 09:00
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
Re: cantidad de registros en una tabla, duda con sentencia COUNT(*)

Puedes hacer una funcion:
Código PHP:
function totalRegistros$tabla ) {
      global 
$db_link;
      
$sqlTotal mysql_query("SELECT COUNT(*) FROM $tabla"$db_link) or die(mysql_error());
      
$row mysql_fetch_row($sqlTotal);
      return 
$row[0];

y asi solo tendrias que llamarla por tabla:
Código PHP:
$totalNoticias totalRegistros("noticias");
$totalCommentarios totalRegistros("comentarios");
// etc. 
Saludos.

Última edición por GatorV; 07/02/2008 a las 08:46 Razón: Mistype
  #5 (permalink)  
Antiguo 06/02/2008, 11:04
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 16 años, 11 meses
Puntos: 292
Re: cantidad de registros en una tabla, duda con sentencia COUNT(*)

Me base en la funcion de GatorV e hice una que acepta un SEGUNDO PARAMETRO para buscar cuando no se repite el contenido de un campo:

Código PHP:
function totalRegs($tabla,$campo="") {      // por GatorV  //
  
if ($campo==""){
  
$contar="*";
  }else{
  
$contar="DISTINCT $campo";
  }

  
$sqlTotal mysql_query("SELECT COUNT($contar) FROM $tabla") or die(mysql_error());
  
$row mysql_fetch_row($sqlTotal);
  return 
$row[0];

El segundo parametro es OPCIONAL. Ej:

//echo totalRegistros("noticias");
echo totalRegistros("noticias","autor");
__________________
Salu2!

Última edición por Italico76; 07/02/2008 a las 08:41
  #6 (permalink)  
Antiguo 07/02/2008, 08:04
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de registros en una tabla, duda con sentencia COUNT(*)

buenos dias por la mañana, moderador, todo funciona muy bien, como siempre gracias mil
Italico76, tomo nota para cuando me haga falta, gracias tambien

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
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 02:11.