Foros del Web » Programando para Internet » PHP »

una consulta rara a mi Base de datos

Estas en el tema de una consulta rara a mi Base de datos en el foro de PHP en Foros del Web. Buno quiciera saber que tanto puedo explotar yo mi base de datos en una misma consulta. bein en otro post comentaba que me emprendi ha ...
  #1 (permalink)  
Antiguo 21/12/2005, 20:10
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
una consulta rara a mi Base de datos

Buno quiciera saber que tanto puedo explotar yo mi base de datos en una misma consulta.

bein en otro post comentaba que me emprendi ha hacer un foro de lamejor manera posible, y quiero saber si una consulta de este tipo se puede:

tengo una tabla con todas las respuestas a los posts y quiero sacar en una misma consulta:

1. cuantas respuestas hay.
2. cual es la respuesta mas actual
3. y cual es el nombre de usuario que repondio la respuesta ams actual

bien ahoa suponemos los siguiente campos en la tabla

ID_respuesta
Fecha_respuesta
ID_user


y en la tabla usuarios tenemos

ID_user
nombre


Supongo que se podra hacer, pero no se me ocurre como hacer el count y la comparacion y dividir esos resultados para mostralos en pantall

quzas me puedan ayudar
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 21/12/2005, 20:49
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 10 meses
Puntos: 2
En una sola consulta? para que liarse, mejor un par:

Código PHP:
$sql mysql_query("SELECT * FROM `post`");
$respuestas mysql_num_rows($sql); 
Ahi tendrías todas las respuestas generales, si queres saber cuantas respuestas para ESE hilo deberias guardar en la tabla POST un identificador del topico, supongamos que es id_topic, entonces tenes que hacer algo asi:

Código PHP:
$sql mysql_query("SELECT `id_topic`, COUNT(`id_topic`) `total` FROM `post` GROUP BY `id_topic` ORDER BY `total` DESC LIMIT 0,1");
$respuestas_topic mysql_num_rows($sql); 
aclaracion: Tené en cuenta que "total" no es un campo en tu base de datos si no un alias que creamos en la consulta SQL... podes cambiar ese total por lo que quieras (pero debes cambiarlo todas las veces que aparece).

La respuesta mas actual es simple:

Código PHP:
$sql mysql_query("SELETC `titulo`, `id_respuesta`, `id_user` FROM `post` ORDER BY `id` DESC LIMIT 0,1");
if (
$r=mysql_fetch_assoc($sql)) { 
$ultima_respuesta = <a href="post.php?id='.$r[id_respuesta].'">'.$r['titulo'].'</a>';
$id_user = $r['
id_user];

Alli tambien seteamos la variable con el ID del usuario, para sacar el "nick" hacemos esto:

Código PHP:
$sql mysql_query("SELECT `nombre` FROM `usuarios` WHERE `id` = '$id_user'");
if(
$r=mysql_fetch_assoc($sql)) { $user_name $r['nombre']; } 
Bueno, creo que los codigos deberian funcionar, obviamente debes cambiar algunos campos por el nombre de los campos de tu DB...
__________________
I Love Programming...
  #3 (permalink)  
Antiguo 22/12/2005, 08:16
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Pero se puede hacer la consulta del NICK simultaneamente?

Que seria mejor?

Muchas gracias
__________________
SEO en Medellin
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 03:59.