Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2009, 06:35
Avatar de ale80262
ale80262
 
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 18 años, 4 meses
Puntos: 0
consulta select multiple

Hola he buscado y he encontrado varias respuestas pero no logro hacerlo correctamente

La aplicacion que estoy armando tiene una tabla de servicios una de usuarios otra de avatar de usuarios y otra de comentarios
tengo que relacionar 3 tablas la de usuarios, la de avatar la de usuarios y la de comentarios segun el servicio por el que consultan

Mi problema es el siguiente obtengo el id del servicio con ese id consulto la base de comentarios para que me devuelva los comentarios de ese servicio una vez que se que comentarios tiene nesecito relacionar segun el usuarios que dejo el comentario consultar la tabla de usuarios para obtener el nombre y la tabla de avatar para obtener el nombre del avatar.

codigo tengo que hacer estas tres consultas

Código PHP:
$sql = "SELECT * from comentarios where id_servicio = $id_servicio order by id_comentario desc limit 0,6";
$sql_1 = "SELECT * from avatar where id_usuario = $id_usuario ";
$sql_2 = "SELECT * from usuarios where id_usuario = $id_usuario "; 
el mi problema esta en que el $id_usuario esta dado por el resultado de la primer consulta

codigo que funciona pero no creo que este bien hecho

Código PHP:
$sql = "SELECT * from comentarios where id_servicio = $id_servicio order by id_comentario desc limit 0,6";
$res = mysql_query($sql);


while (
$array = mysql_fetch_array($res)){

$id_usuario = $array["id_usuario"];

$db = new db(true);
$db->setTable('avatar');
$sql_u = "SELECT * from avatar where id_usuario = $id_usuario ";
$res_u = mysql_query($sql_u);
$tiene = mysql_num_rows($res_u);

if (
$tiene == 0){
echo 
'<img src="admin/imagenes/phpthumb.php?src=../../usuario/no.jpg&w=50&h=50&zc=1"></td></tr>';
}else{

while (
$array = mysql_fetch_array($res_u))
{

echo 
'<img src="admin/imagenes/phpthumb.php?src=../../usuario/avatar';
echo 
$array["id_usuario"]."/";
echo 
$array["nombre_i"];
echo 
'&w=50&h=50&zc=1"></td></tr>';
}
}

$db = new db(true);
$db->setTable('usuarios');
$sql_u = "SELECT * from usuarios where id_usuario = $id_usuario ";
$res_u = mysql_query($sql_u);
while (
$array = mysql_fetch_array($res_u)){


echo 
$array["usuario"];

}

}




$sql = "SELECT * from comentarios where id_servicio = $id_servicio order by id_comentario desc limit 0,6";
$res = mysql_query($sql);



while (
$array = mysql_fetch_array($res)){


echo 
$array["titulo_comentario"];
echo 
"<br>";
echo 
$array["comentario"];


echo 
$array["fecha"];


} 
Como siempre agradezco qeuin pueda hecharme una mano y saludos a todos