PHP - Problema con consulta mysql con php

 
Vista:

Problema con consulta mysql con php

Publicado por David (5 intervenciones) el 09/12/2011 02:50:13
Hola, tengo un problema que no logro solucionar, seguramente es una tontería, pero no llevo mucho tiempo con php and mysql y no se como realizar lo siguiente. Antes de todo muchas gracias por la ayuda.


Tengo 3 tablas con los siguientes campos:

Admin

id_admin
tipo_admin
user_admin
pass_admin
correo_admin


Usuario:

id_usuario
nom_usuario
pass_usuario
id_admin
id_empresa

Empresa:

id_empresa
nom_empresa
cif_empresa
dir_empresa
cp_empresa
telf_empresa
email_empresa
ciudad_empresa
id_admin

----

El tema es que quiero mostrar un listado de "usuarios" en los que tienen que salir los siguientes datos:

Nombre de usuario: Nombre de administrador: Nombre de empresa:

Conseguirlo tan solo por el ID del usuario "id_usuario" es sencillo mediante esta sentencia sql

[PHP]$sql="SELECT us.nom_usuario,ad.user_admin,em.nom_empresa FROM
empresa as em,admin as ad,usuario as us
where
us.id_usuario=2 //Este dato estaría en un registro de la tabla usuarios
and
ad.id_admin=10 //Este dato estaría en un registro de la tabla usuarios
and
em.id_empresa=1"; //Este dato estaría en un registro de la tabla usuarios
[/PHP]

Los datos de la consulta anterior serían pasados por POST en el caso de ser para un solo registro.

Luego muestro el registro con el nombre de cada campo con:
[PHP]
$resultados=mysql_query($sql, $con);

<?php
if($mostrar= mysql_fetch_array($resultados)){


?>

<tr>
<td align="center" bgcolor="#FFFFFF"><?php echo $mostrar['nom_usuario']; ?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $mostrar['user_admin']; ?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $mostrar['nom_empresa']; ?></td>
<td align="center" bgcolor="#FFFFFF"><a href="editar_usuario.php?id_admin=<?php echo $mostrar['id_usuario']; ?>"><img src="imagenes/mini/editdocument.png" width="32" height="32" alt="Editar" /></a></td>
</tr>
<?php

}
?>[/PHP]

Funciona a la perfección como comento para un registro. Pero si quiero mostrar un listado en el que me muestre lo mismo?

Recordemos que en la tabla Usuario los campos son:

id_usuario
nom_usuario
pass_usuario
id_admin
id_empresa

Y lo que quiero es sacar el nombre de los valores relacionados para

"Nombre de usuario: Nombre de administrador: Nombre de empresa:"

Que en las tablas "admin" y "empresa" serían id_admin y id_empresa.

Espero haberme explicado bien, y me ayudeis a sacar la consulta o script necesario para listar los datos que pido.

Muchísimas gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con consulta mysql con php

Publicado por xve (6935 intervenciones) el 09/12/2011 10:13:55
Hola David, no entiendo muy bien, pero si te he entendido bien, quieres mostrar todos los datos que contiene las tablas vinculándolos?? es así? no me queda claro, si el problema lo tienes en la consulta sql o a la hora de mostrar los datos por la pantalla.
Coméntame y intento ayudarte, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con consulta mysql con php

Publicado por VhoScript (4 intervenciones) el 09/12/2011 10:52:04
Esta es una de las formas

SELECT * FROM Usuario
LEFT OUTER JOIN Empresa
ON Usuario .id_admin = Empresa.id_empresa
WHERE Empresa.id_empresa IS null


puedes también cambiar WHERE por GRUP By Usuario .id_admin, Empresa.id_empresa

Indexa Mysql Usuario id_admin, y en tabla Empresa id_empresa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con consulta mysql con php

Publicado por ratono (5 intervenciones) el 09/12/2011 20:45:06
Muchas gracias, me valio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar