Foros del Web » Programando para Internet » PHP »

Problemas al mostrar registros de tablas relacionadas

Estas en el tema de Problemas al mostrar registros de tablas relacionadas en el foro de PHP en Foros del Web. Hola, tengo 2 tablas y necesito hacer un select que me muestre la unión 1 campo determinado de c/u de ellas. Tabla cliente id_cliente(PK) nombre ...
  #1 (permalink)  
Antiguo 25/09/2009, 19:31
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Problemas al mostrar registros de tablas relacionadas

Hola, tengo 2 tablas y necesito hacer un select que me muestre la unión 1 campo determinado de c/u de ellas.

Tabla cliente

id_cliente(PK)
nombre


Tabla venta

id_factura (PK)
id_cliente (fk)
cantidad


Ej:

1 - Juan - 234




Todo va bien siempre y cuándo indique lo siguiente:

SELECT cliente.nombre, venta.id_factura FROM cliente, venta WHERE cliente.id_cliente = '1' AND
venta.id_cliente = '1'

Necesito que me muestre todos los registros pero sin utilizar una condición ya que si no la uso me duplica los resultados

ej:

1 Juan 234
1 Pepe 234
2 Juan 333
2 Pepe 333

¿Cómo puedo solucionar esto?¿Alguno sabe?


Éste es el código entero:


<?
$host = "localhost";
$user = "mi_nombre_de_usuario";
$pass = "mi_clave";
$db = "mi_nombre_de_base_de_datos";

$connect = mysql_connect($host,$user,$pass);
$database = mysql_select_db($db, $connect);

$resalt = mysql_query("SELECT cliente.nombre, venta.id_factura FROM cliente, venta WHERE cliente.id_cliente = '1' AND

venta.id_cliente = '1'");



while($row=mysql_fetch_assoc($resalt)){



echo $row['nombre'].$row['id_factura']."<br />";

}

?>




<br>
Nota: esta es solamente una página de prueba
</body>
</html>
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 25/09/2009, 19:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Problemas al mostrar registros de tablas relacionadas

tu sentencia SQL esta un tanto atrofiada, pues, el fetch assoc lo que hace es traerte la info de ambas tablas, siempre y cuando existan, es por eso que al hacer el ciclo te las duplica.. prueba filtrar mas tus tablas con join o inner join para indicarle cual de las tablas sera la vinculada con la otra y de cual traera los reultados comparativos...

aca algo de lectura comprensiva
  #3 (permalink)  
Antiguo 25/09/2009, 20:03
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problemas al mostrar registros de tablas relacionadas

Realiza la consulta de esta manera.

Código SQL:
Ver original
  1. SELECT cliente.nombre, venta.id_factura FROM cliente, venta WHERE cliente.id_cliente = venta.id_cliente
  #4 (permalink)  
Antiguo 26/09/2009, 08:32
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Respuesta: Problemas al mostrar registros de tablas relacionadas

GRACIAS A AMBOS POR RESPONDER!

loncho_rojas:
gracias x el enlace.

gjx2:
funcionó a la perfección!!!
__________________
"Life goes on..."
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 20:40.