Foros del Web » Programando para Internet » PHP »

¿Como puedo hacer esto?

Estas en el tema de ¿Como puedo hacer esto? en el foro de PHP en Foros del Web. He buscado por todos lo medios y no se como hacer esto.... fijense: es un sistema de biblioteca en PHP y MYSQL 4.0.6 Tengo una ...
  #1 (permalink)  
Antiguo 24/04/2006, 12:21
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 12 años, 4 meses
Puntos: 4
Mensaje ¿Como puedo hacer esto?

He buscado por todos lo medios y no se como hacer esto.... fijense:

es un sistema de biblioteca en PHP y MYSQL 4.0.6

Tengo una pagina (inventario.php) que me devuelve todos los resultados de la tabla INVENTARIO y tengo otra pagina (vendidos.php) que me muestra que muestra los libros vendidos

Tengo 2 tablas, una es INVENTARIO_LIBROS y la otra es VENDIDOS

El problema es que Necesito hacer una consulta en otra pagina en la cual me muestre los libros que se encuentran el la tabla INVENTARIO_LIBROS sin mostrarme los que estan en la tabla VENDIDOS

Por ejm. en INVENTARIO_LIBROS tengo lo siguiente: LIBRO1, LIBRO2 y LIBRO3 y en la tabla VENDIDOS tengo LIBRO2, entonces quiero que la consulta me muestre que tengo LIBRO1 y LIBRO3 (LIBRO2 no lo muestra porque esta VENDIDO)

Espero que alguno me pueda ayudar... Muchas gracias y saludos
  #2 (permalink)  
Antiguo 24/04/2006, 12:27
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
En tu tabla "Vendidos" ¿Qué estas almacenando para saber que el libro2 esta vendido?¿Su id? ¿Qué usas?
  #3 (permalink)  
Antiguo 24/04/2006, 12:28
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
¿Y no sería más fácil marcar en la tabla INVENTARIO_LIBROS que ese libro está vendido? O bien borrarlo de INVENTARIO_LIBROS si ya está en vendidos...

Es sólo una sugerencia...
  #4 (permalink)  
Antiguo 24/04/2006, 12:49
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 12 años, 4 meses
Puntos: 4
Cita:
Iniciado por mauled
En tu tabla "Vendidos" ¿Qué estas almacenando para saber que el libro2 esta vendido?¿Su id? ¿Qué usas?
En ambas tablas almaceno el nombre del libro, en este caso en ambas tablas estaria LIBRO2

Cita:
Iniciado por david_M_G
¿Y no sería más fácil marcar en la tabla INVENTARIO_LIBROS que ese libro está vendido? O bien borrarlo de INVENTARIO_LIBROS si ya está en vendidos...

Es sólo una sugerencia...
El problema es que en la tabla VENDIDOS almaceno otras informaciones que vienen de otras tablas.

Yo se que se puede hacer, me han dicho que con una consulta anidada, pero para mi version de MYSQL no puedo (4.0.6 y esto se puede a partir de 4.1) otros me han dicho que lo haga usando JOIN, pero no se como seria la sintaxis
  #5 (permalink)  
Antiguo 24/04/2006, 13:03
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
manual de join http://dev.mysql.com/doc/refman/5.0/en/join.html
  #6 (permalink)  
Antiguo 24/04/2006, 13:36
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 11 años, 7 meses
Puntos: 2
La forma de utilizar joins para reemplazar subconsultas seria, en tu caso, mas o menos así:

SELECT * FROM INVENTARIO_LIBROS I LEFT JOIN VENDIDOS V ON I.id = V.id WHERE V.id IS NULL

La consulta utiliza un join externo a izquierda y luego selecciona las filas no cumplieron con la condicion del join. Estas filas representan justamente los libros que se encuentran en la tabla INVENTARIO_LIBROS pero no en VENDIDOS, es decir, los libros que no han sido vendidos.
Espero que te sirva.
Saludos.
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 19:46.