Foros del Web » Programando para Internet » PHP »

PHP consulta mysql (unir 3 tablas)

Estas en el tema de PHP consulta mysql (unir 3 tablas) en el foro de PHP en Foros del Web. Hello, tengo un problemita tengo una DB con 4 tablas diferentes la cual ambas se realcionan, me explico: tabla1 (usuario) id pass username table2 (cliente_referido) ...
  #1 (permalink)  
Antiguo 28/05/2014, 01:19
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Busqueda PHP consulta mysql (unir 3 tablas)

Hello, tengo un problemita tengo una DB con 4 tablas diferentes la cual ambas se realcionan, me explico:

tabla1 (usuario)
id
pass
username

table2 (cliente_referido)
id
*nombre_cliente
*apellido_cliente
id_usuario

table3 (servicios)
id
*trato
*monto
*porciento_referido
id_sup (este id jalara el departamento del cual se esta trabajando ya sea "aplicacion","multimedia","web","disenografico ")
id_cliente

table4 (super_usuario)
id
*departamento
sup_area (aqui es donde se encuentran los departamentos que menciono arriba por el id de esta tabla sabre cual departamento es..)




Ok esas son mis tablas es mas grande pero esas que tienen el asterisco son las tablas que necesito consultar en un solo cuadro... me explico un poco mejor digase que cuando un empleado se loge traiga las tablas de los cleintes con los que esta trabajando de la tabla "cliente_refirido" que la tabla cliente_referido ya que solo traera nombre y apellido, traiga mediante los "id" de esos clientes traiga los "servicios" sujetos a esos clientes digase (trato, monto, porciento_referido, id_sup) por ultimo el id_sup que se conecta con la tabla super_usuario traiga el departamento (web, multimedia, applicaction, grafico).

Aqui les dejo una imagen del historial donde se vera la info



Entonces cuando el usuario se logea traigo sus datos de la tabla usuario y ya en la seccion de usuarios hago un bucle para traer los clientes referentes al id del usuario hasta ahi perfecto pero si se fijan en la imagen de arriba no se como traer dependiende del id del cliente los demas servicios y el departamento...

este es el codigo del bucle

Código PHP:
$results = mysql_query("SELECT DISTINCT nombre_cliente, apellido_cliente, apellido2_cliente, id_usuario FROM 
cliente_referido INNER JOIN usuario ON id_usuario = $id ");

while($row = mysql_fetch_array($results))
{

?>
    <tr height="50" align="center">
        <td><?php echo ucwords($row['nombre_cliente']);?></td>
        <td><?php echo ucwords($row['apellido_cliente']).' '.ucwords($row['apellido2_cliente']);?></td>
        <td>RD$ <?php echo $row['monto_cliente'];?></td>
        <td>RD$ <?php echo $row['porciento_referido'];?></td>
        <td><?php echo ucwords($row['trato_aceptado']);?></td>
        <td><?php echo ucwords($row['servicio']);?></td>
    </tr>
     <?php ?>
quisiera hacer que por cada cliente que encuentre me traiga los servicios de la tabla "servicios" y de la tabla servicios me traiga el departamento de la tabla "super_usuarios" que se agregaran a la parte que dice descripcion arriba en la imagen...

Ojala me puedan entender lo que me hace falta es la union de esas tablas pero no se como hacer ese bucle dentro del bucle..

MILLAR DE GRACIAS..
  #2 (permalink)  
Antiguo 28/05/2014, 05:05
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: PHP consulta mysql (unir 3 tablas)

tienes que identificar cada columna de que table es ex: tabla user, profile
user.id
profile.image
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 29/05/2014, 09:47
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: PHP consulta mysql (unir 3 tablas)

Gracias arros, lo termine resolviendo de esta manera

SELECT t1.id_usuario, t1.nombre_cliente, t1.apellido_cliente, t1.apellido2_cliente, t2.monto, t2.porciento_referido, t2.estado, t3.sup_area
FROM cliente_referido t1 INNER JOIN servicios t2 ON (t1.id_cl = t2.id_cliente)
INNER JOIN super_usuario t3 ON (t2.sup_id = t3.sup_id) WHERE t1.id_usuario = 4

tal que pude unir las 3 tablas en una sin hacer bucle dentro de bucle...

ya pueden cerrar el tema :D

Etiquetas: mysql, select, tabla, 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 00:21.