Foros del Web » Programando para Internet » PHP »

Consultas multitabla

Estas en el tema de Consultas multitabla en el foro de PHP en Foros del Web. Hola a todos , bueno en estos dias eh tratado de hacer un sistema en el que cuyo sistema implementa hacer una consulta a varias ...
  #1 (permalink)  
Antiguo 18/12/2012, 08:22
Avatar de mati987  
Fecha de Ingreso: febrero-2010
Mensajes: 52
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Consultas multitabla

Hola a todos , bueno en estos dias eh tratado de hacer un sistema en el que cuyo sistema implementa hacer una consulta a varias tablas , lo que quiero hacer en realidad es hacer una búsqueda de datos , en el que por ejemplo pregunta el nombre ,apellido y dni de una tabla , la calle de otra tabla , y el teléfono de otra tabla.

Esto es lo que hago: una consulta multitabla

Código PHP:
$sql="select * from telefonos t ,direcciones d, personas p where p.nombre='".$_POST["nombre"]."' or p.apellido='".$_POST["apellido"]."' or p.dni='".$_POST["dni"]."' or t.numero='".$_POST["telefono"]."' or d.calle='".$_POST["calle"]."';"
La cosa es que en la bd tengo guardado 3 datos nomas , y cuando hago la consulta en cualquier campo de los mencionados me salen como 300 veces esos datos , la verdad nose que es lo que estoy haciendo mal


Si de algo sirve aqui esta el resto de la funcion

Código PHP:
Ver original
  1. $res=mysql_query($sql);
  2.  
  3.  
  4. while($reg=mysql_fetch_assoc($res))
  5. {
  6. echo "Nombre: ".$reg["nombre"]."<br>";
  7. echo "Apellido: ".$reg["apellido"]."<br>";
  8. echo "DNI: ".$reg["dni"]."<br>";
  9.  
  10. }



Si me podrían ayudar seria buenísimo

Última edición por mati987; 18/12/2012 a las 08:24 Razón: se me avia olvidado algo
  #2 (permalink)  
Antiguo 18/12/2012, 08:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Consultas multitabla

¿Cuál es la estructura de las tablas? ¿Qué relaciones tienen entre sí?

Lo que se está generando ahora es un producto cartesiano entre todas las tablas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: multitabla, sistema
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 14:33.