Autor
|
Tema: problema al hacer select de varias tablas sql (Leído 2,109 veces)
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
buenas gente, tengo un problema al seleccionar 3 arrays y que me la muestre ordenadas, son 4 tablas diferentes, existen en este orden, clientes,clientes_telefonos,clientes_tratamiento y clientes_emails( en la tabla clientes hay datos sobre clientes, en la tabla clientes_telefonos pueden existir varios telefonos asociados a 1 cliente, en clientes_tratamiento pueden haber varias personas asociadas a mismo telefono y en la tabla emails pueden haber varios emails para varios clientes, entonces esto es lo que me resulta: {} {} {} { echo "<tr>"; echo "<td class='estilo_td1'>".$fila2['cod_cliente']."</td><td class='estilo_td'>".$fila2['fecha']."</td><td class='estilo_td'>".$fila2['contacto']."</td>"; echo "<td class='estilo_td'>".$fila2['tipo']."</td><td class='estilo_td'>".$fila2['poblacion']."</td><td class='estilo_td'>".$fila2['provincia']."</td>"; echo "<td class='estilo_td'>".$fila2['pais']."</td><td class='estilo_td'>".$fila2['revisado']."</td><td class='estilo_td'>".$fila2['nombre_empresa']."</td>"; echo "<td class='estilo_td'>".$fila2['web']."</td>"; echo "</tr>"; foreach($fila3 as $value){ echo "<tr>"; echo "<td class='estilo_td'>".$value['clientes_telefonos']."</td>"; } foreach($fila4 as $value4){ echo "<td class='estilo_td'>".$value4['nombre']."</td><td class='estilo_td'>".$value4['apellidos']."</td>"; } foreach($fila5 as $value5){ echo "<td class='estilo_td'>".$value5['clientes_emails']."</td>"; echo "</tr>"; } }
me sale bien la tabla clientes, me sale bien la tabla telefonos, pero la tabla tratamiento y emails no se ajustan con el select. como lo hariais para que se muestre <tr><td>telefono1</td><td>nombre1</td><td>apellido1</td><td>email1</td></tr> 1 por linea <tr> ++ Mod: Temas sobre PHP van al subforo de PHP.
|
|
« Última modificación: 20 Octubre 2015, 12:18 pm por #!drvy »
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
engel lex
|
agarraste los resultados de todos los clientes y los estás retornando juntos... tienes que hacer el query por cliente o arreglar el array por cliente...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
no te entiendo a que se refiere a modificar la sql? esto es a lo me refiero <tr><td>datos del cliente1<td><td>.....wfe</td>...............</tr> <tr><td>telefono1</td><td>nombre1</td><td>apellido1</td><td>email1</td></tr> <tr><td>telefono2</td><td>nombre2</td><td>apellido2</td><td>email2</td></tr> <tr><td>telefono3</td><td>nombre3</td><td>apellido3</td><td>email3</td></tr> ......... <tr><td>datos del cliente2<td><td>.....wfe</td>...............</tr> ...... ..... ......
|
|
« Última modificación: 20 Octubre 2015, 00:25 am por tecasoft »
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
engel lex
|
tienes que hacer un query por cliente... para sacar sus datos que sean repetidos...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
como seria por cliente? es decir hacer sola una sql para todo? y como seria? llevo horas y horas y no entiendo el funcionamiento algo se me escapa
|
|
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
tengo esto para insertar un usuario he cojido el ultimo insert into $id=mysqli_insert_id($conexion); /* Te muestra el ultimo id_campo insertado en la tabla */ pero nose como cojer en el de $id_telefonos_bucle=mysqli_insert_id($conexion); ya que me muestra el ultimo del foreach anterior, como lo podria hacer, nose si sigo buenas metodologias: $result2=mysqli_query($conexion,"insert into clientes (fecha,contacto,tipo,poblacion,provincia,pais,revisado,nombre_empresa,web) values ('$anadir_fecha','$anadir_contacto','$anadir_tipo','$anadir_poblacion','$anadir_provincia','$anadir_pais','$anadir_revisado', '$anadir_nombre_empresa','$anadir_web')"); /* INSERTAR clientes_telefonos $p_scnt */ $id=mysqli_insert_id($conexion); /* Te muestra el ultimo id_campo insertado en la tabla */ $result3=mysqli_query($conexion,"insert into clientes_telefonos (clientes_telefonos,cod_tel) values ('$p_scnt','$id')"); /* INSERTAR clientes_tratamiento $p_scnt_nombre y $p_scnt_apellidos */ $result4=mysqli_query($conexion,"insert into clientes_tratamiento (nombre,apellidos,cod_tra,cod_tra_tel) values ('$p_scnt_nombre','$p_scnt_apellidos','$id', '$id_telefonos')"); foreach($pscnt as $numero){ mysqli_query($conexion,"insert into clientes_telefonos (clientes_telefonos,cod_tel) values ('$numero','$id')"); } foreach($pscnt_nombre as $index => $nombre){ $apellidos = $pscnt_apellidos[$index]; mysqli_query($conexion,"insert into clientes_tratamiento (nombre, apellidos,cod_tra,cod_tra_tel) values ('$nombre','$apellidos','$id', '$id_telefonos_bucle')"); }
|
|
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
eLank0
eLhAcKeR r00Lz
Desconectado
Mensajes: 1.062
|
Sería bueno ver el código del SELECT. Para coger datos de todas esas tablas relacionadas ya usas un JOIN? En lugar de usar 4 o 5 consultas separadas?
Salu2
|
|
|
En línea
|
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
esto es lo que utilizo para hacer un select: $result2=mysqli_query($conexion,"select cod_cliente,fecha,contacto,tipo,poblacion,provincia,pais,revisado,nombre_empresa,web,clientes_telefonos,nombre,apellidos from clientes,clientes_telefonos,clientes_tratamiento,clientes_emails where cod_cliente='$cod_cliente' or fecha='$fecha' or contacto='$contacto' or tipo='$tipo' or poblacion='$poblacion' or provincia='$provincia' or pais='$pais' or revisado='$revisado' or nombre_empresa='$nombre_empresa' or web='$web' or clientes_telefonos='$telefonos' or nombre='$nombre' or apellidos='$apellidos' or clientes_emails='$clientes_emails' group by cod_cliente"); /*$result3=mysqli_query($conexion,"select clientes_telefonos from clientes_telefonos where clientes_telefonos='$telefonos' group by cod_telefonos"); mysqli_set_charset($result3,"utf8"); $result4=mysqli_query($conexion,"select nombre,apellidos from clientes_tratamiento where nombre='$nombre' or apellidos='$apellidos' group by cod_tratamiento"); mysqli_set_charset($result4,"utf8");*/ $result5=mysqli_query($conexion,"select clientes_emails from clientes,clientes_telefonos,clientes_tratamiento,clientes_emails where cod_cliente='$cod_cliente' or fecha='$fecha' or contacto='$contacto' or tipo='$tipo' or poblacion='$poblacion' or provincia='$provincia' or pais='$pais' or revisado='$revisado' or nombre_empresa='$nombre_empresa' or web='$web' or clientes_telefonos='$telefonos' or nombre='$nombre' or apellidos='$apellidos' or clientes_emails='$clientes_emails' group by cod_emails"); { echo "<tr>"; echo "<td class='estilo_td1'>".$fila2['cod_cliente']."</td><td class='estilo_td'>".$fila2['fecha']."</td><td class='estilo_td'>".$fila2['contacto']."</td>"; echo "<td class='estilo_td'>".$fila2['tipo']."</td><td class='estilo_td'>".$fila2['poblacion']."</td><td class='estilo_td'>".$fila2['provincia']."</td>"; echo "<td class='estilo_td'>".$fila2['pais']."</td><td class='estilo_td'>".$fila2['revisado']."</td><td class='estilo_td'>".$fila2['nombre_empresa']."</td>"; echo "<td class='estilo_td'>".$fila2['web']."</td>"; echo "</tr>"; $result3=mysqli_query($conexion,"select clientes_telefonos from clientes_telefonos where cod_tel=".$fila2['cod_cliente']); $result4=mysqli_query($conexion,"select clientes_telefonos,nombre,apellidos from clientes_telefonos,clientes_tratamiento where clientes_tratamiento.cod_tra=".$fila2['cod_cliente']." and clientes_telefonos.cod_tel=".$fila2['cod_cliente']); /*while($fila3=mysqli_fetch_array($result3)) { */ { echo "<tr>"; echo "<td class='estilo_td1'>".$fila4['clientes_telefonos']."</td>"; echo "<td class='estilo_td'>".$fila4['nombre']."</td><td class='estilo_td'>".$fila4['apellidos']."</td>"; echo "</tr>"; } /*}*/ }
pero no seria mejor utilizar esto para hacer el select: SELECT * FROM clientes_telefonos,clientes_tratamiento WHERE cod_tel=5 AND clientes_telefonos.cod_telefonos=clientes_tratamiento.cod_tra_tel GROUP BY cod_telefonos;
como lo veis vosotros el insert y el select?
|
|
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Llenar un treeview desde varias tablas
.NET (C#, VB.NET, ASP)
|
wolf_ca9
|
4
|
10,857
|
7 Octubre 2011, 10:57 am
por userdavid77
|
|
|
[Ayuda] Unir varias tablas! :(
.NET (C#, VB.NET, ASP)
|
guillevcp
|
5
|
3,632
|
14 Octubre 2011, 14:11 pm
por Novlucker
|
|
|
[Solucionado]Dudas Sql subconsultas relacionando varias tablas
« 1 2 »
Bases de Datos
|
Anonymous250
|
11
|
17,606
|
10 Enero 2012, 12:36 pm
por Anonymous250
|
|
|
update de varias tablas en una sola ves
Dudas Generales
|
ferits
|
0
|
1,903
|
25 Agosto 2015, 02:57 am
por ferits
|
|
|
Como usar el insert Into en varias tablas con una condicion
.NET (C#, VB.NET, ASP)
|
_CrisiS_
|
0
|
2,573
|
1 Abril 2018, 16:56 pm
por _CrisiS_
|
|