Foros del Web » Programando para Internet » PHP »

'SELECT count(*) FROM `cliente`';

Estas en el tema de 'SELECT count(*) FROM `cliente`'; en el foro de PHP en Foros del Web. Esa sentencia la utilizo para saber la cantidad de rows que tiene una tabla, ahora lo que no se es como obtejer ese resultado desde ...
  #1 (permalink)  
Antiguo 30/07/2008, 18:09
 
Fecha de Ingreso: junio-2008
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
'SELECT count(*) FROM `cliente`';

Esa sentencia la utilizo para saber la cantidad de rows que tiene una tabla, ahora lo que no se es como obtejer ese resultado desde php?

Código:
				$sql1 = 'SELECT count(*) FROM `cliente`'; 
				$rs1 = mysql_query($sql,$conn);
				$cant = mysql_num_rows($rs1);
necesito en $cant la cantidad de registros.
  #2 (permalink)  
Antiguo 30/07/2008, 18:42
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: 'SELECT count(*) FROM `cliente`';

Y no te los entrega porque mira bien el codigo:
Código PHP:
$sql1 'SELECT count(*) FROM `cliente`'//Esto va a la variable SQL1
$rs1 mysql_query($sql,$conn); //Esto ejecuta la variable SQL que no existe
$cant mysql_num_rows($rs1); 
Deberia quedar asi:
Código PHP:
$sql 'SELECT count(*) FROM cliente';
$rs1 mysql_query($sql,$conn) or die('Error: '.mysql_error());
$cant mysql_num_rows($rs1); 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 30/07/2008, 18:46
 
Fecha de Ingreso: junio-2008
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: 'SELECT count(*) FROM `cliente`';

yo lo que necesito es la cantidad de registros, eso me devuelve un 1. Tengo unos 300 registros en esa tabla, quiero levantar ese numero, como puedo hacer?
  #4 (permalink)  
Antiguo 30/07/2008, 18:50
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: 'SELECT count(*) FROM `cliente`';

el count esta gastando "tiempo" y/o "memoria" sin necesidad, lo que yo te recomiendo es:

Código PHP:
$rs1 mysql_query('SELECT `id` FROM `cliente`;',$conn);
$cant mysql_num_rows($rs1); 
siendo id un campo de los más pequeños en tu tabla, para asi ahorrar más memoria y tiempo al seleccionar la tabla
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #5 (permalink)  
Antiguo 30/07/2008, 18:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: 'SELECT count(*) FROM `cliente`';

Hola:

Si no me equivoco es sql básico usar "as"...

"select count(*) as total", y luego consultar el campo total (o mejor dicho la variable o alias...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 30/07/2008, 18:57
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: 'SELECT count(*) FROM `cliente`';

Por no leer bien me paso
Código PHP:
$sql 'SELECT count(*) as conteo FROM cliente';
$rs1 mysql_query($sql,$conn) or die('Error: '.mysql_error());
while(
$datos mysql_fetch_array($rs1)){
      
$cant $datos['conteo'];

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 30/07/2008, 19:00
 
Fecha de Ingreso: junio-2008
Mensajes: 110
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: 'SELECT count(*) FROM `cliente`';

Muchas Gracias!!!
  #8 (permalink)  
Antiguo 30/07/2008, 19:03
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: 'SELECT count(*) FROM `cliente`';

Cita:
Iniciado por Marvin Ver Mensaje
Por no leer bien me paso
Código PHP:
$sql 'SELECT count(*) as conteo FROM cliente';
$rs1 mysql_query($sql,$conn) or die('Error: '.mysql_error());
while(
$datos mysql_fetch_array($rs1)){
      
$cant $datos['conteo'];

Suerte!
en un while? no es necesario, tiene solo una fila
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #9 (permalink)  
Antiguo 30/07/2008, 19:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: 'SELECT count(*) FROM `cliente`';

Cita:
Iniciado por vb2005 Ver Mensaje
el count esta gastando "tiempo" y/o "memoria" sin necesidad, lo que yo te recomiendo es:

Código PHP:
$rs1 mysql_query('SELECT `id` FROM `cliente`;',$conn);
$cant mysql_num_rows($rs1); 
siendo id un campo de los más pequeños en tu tabla, para asi ahorrar más memoria y tiempo al seleccionar la tabla
Creo que te estás equivocando, ya que en las tablas, además de los datos propios de la misma, se almacenan algunos datos que ayudan a obtener otro tipo de información como el número de registros que tienen... y otra cosa importante es que count es una "primitiva" del lenguaje sql, y siempre (siempre) es recomendable utilizar las primitivas de cada lenguaje (cursos básicos de programación para todos los lenguajes)... y también evitar las redundancias.

Cita:
Iniciado por Marvin Ver Mensaje
Por no leer bien me paso
Código PHP:
$sql 'SELECT count(*) as conteo FROM cliente';
$rs1 mysql_query($sql,$conn) or die('Error: '.mysql_error());
while(
$datos mysql_fetch_array($rs1)){
      
$cant $datos['conteo'];

Suerte!
Hola: ya que has puesto el ejemplo, recuerdo que he probado algo así (basándome de tu ejemplo) $cant = $datos['count(*)']; y el resultado es el mismo (al menos con mysql).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 30/07/2008, 19:57
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: 'SELECT count(*) FROM `cliente`';

Cita:
Iniciado por vb2005
en un while? no es necesario, tiene solo una fila
Entonces se ejecutara una vez... tampoco es tanto :P

Cita:
Iniciado por caricatos
Hola: ya que has puesto el ejemplo, recuerdo que he probado algo así (basándome de tu ejemplo) $cant = $datos['count(*)']; y el resultado es el mismo (al menos con mysql).

Saludos
Sip, yo uso un alias por costumbre, pero funciona con todas las funciones de mysql que no son definidas con alias puesto que mysql retorna la misma funcion como nombre de columna

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Última edición por Marvin; 30/07/2008 a las 20:23
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 11:00.