Foros del Web » Programando para Internet » PHP »

armar consulta con count

Estas en el tema de armar consulta con count en el foro de PHP en Foros del Web. Hola foreros estoy ya un poco desesperda y es que llevo todo el dia haciendo un sistemita y llegue a esta parte y nada mas ...
  #1 (permalink)  
Antiguo 16/11/2011, 18:36
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
armar consulta con count

Hola foreros estoy ya un poco desesperda y es que llevo todo el dia haciendo un sistemita y llegue a esta parte y nada mas ya no me da el cerebro, les pido su ayuda por favor

veran tengo 2 tablas: usuarios y automovil

necesito saber cuantos autos tiene registrado un usuario, esta es la estructura de la tabla:

+--------------+
|usuarios----|
+--------------+
|id_usuario--|
|bla-----------|
|bla-----------|
+--------------+


+--------------+
|automovil---|
+--------------+
|id_auto-----|
|id_cliente---|
|bla-----------|
+--------------+

ahora el id_usuario de usuarios y el id_cliente de automovil es el mismo, el primero es llave principal y en la otra tabla es foranea.

como le hago para sacar lo que necesito, lo que hice fue esto

Código PHP:
"SELECT COUNT(id_auto) FROM automovil WHERE id_cliente='$id_cliente'" 
donde la variable $id_cliente contiene como su nombre lo indica cada id de los usuarios registrados

el resultado que me sale de esa consulta es:

ID RFC Nombre Dirección Telefono Tipo de Usuario Autos Registrados
1 xxx yyyyyy zzzzzzzz 12345678 Administrador............1
2 xxx yyyyyy zzzzzzzz 12345432 Empleado...................1
3 xxx yyyyyy zzzzzzzz 12323423 Cliente-......................1
4 xxx yyyyyy zzzzzzzz 12345678 Emplead.....................1
5 xxx yyyyyy zzzzzzzz 12345678 Cliente.......................1

lo que indicaria que cada uno tiene un auto registrado, lo cual es falso ya que solo el 3 tiene un auto registrado

ayudaaaa porfavor
  #2 (permalink)  
Antiguo 16/11/2011, 18:41
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: armar consulta con count

tambien tengo duda en la ejecucin de la consulta estoy usando mysql_num_rows y no se si es lo adecuado

Código PHP:
$con_autos mysql_query("SELECT COUNT(id_auto) FROM automovil WHERE id_cliente='$id_cliente'") or die("Problemas consulta".mysql_error());
    
$autos mysql_num_rows($con_autos); 
  #3 (permalink)  
Antiguo 16/11/2011, 19:22
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: armar consulta con count

Si haces num_rows no es nesesario poner en el sql count y no te entiendo muy bien pero creo que lo que quieres es que se muestren los registros de autos que ha realizado determinado usuario si es asi ?? entonses en tu base de datos al usuario deberas crear un campo al cual le puedes poner registros y hay cada ves que el usuario llene el formulario para registrar un automovil se le suma 1 al campo de registro del usuario entonses despues muestras cuantos registros a realizado el usuario solo mostrando en un sql el campo registros.


Pero en tu caso como lo estas haciendo con tablas relacionadas seria asi :

Código PHP:
Ver original
  1. /*tendrias que hacer esto */
  2. $sql = mysql_query = "SELECT * FROM automovil WHERE id_cliente='$id_cliente' ";
  3. $registros_usuario = mysql_num_rows($sql);

si no te funciona esto hace lo que te digo y crea un nuevo campo en tu tabla llamado registros que se sube con cada registro que realize un usuario
  #4 (permalink)  
Antiguo 16/11/2011, 19:29
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 13 años, 3 meses
Puntos: 72
Respuesta: armar consulta con count

Se necesita realizar un join entre las tablas, prueba con esta sentencia.

Cita:
select usuarios.id_usuario,count(automovil.id_cliente) from automovil join usarios on usuarios.id_usuario=aumovil.id_cliente group by usuarios.id_usuario;
con esto se obtienen dos columnas una con es id_usuario y la otra con la cantidad de automoviles registrados por ese usuario.
  #5 (permalink)  
Antiguo 16/11/2011, 19:29
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: armar consulta con count

Vaya que cosa mas sencilla jeje muchas gracias xlos_mas_pro como mencione ya no me da el cerebro y la solución era muy simple!!
  #6 (permalink)  
Antiguo 16/11/2011, 20:30
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: armar consulta con count

haa ahora entiendo que querias hacer es que no entendia muy bien que querias

Etiquetas: armar, count, tabla, variables, usuarios
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 16:29.