Bueno, mi problema es el siguient, a ver si alguien me puede ayudar.
voy a poner un ejemplo para ser mas explicativo, suponganse que administro con mi programa un hotel, y si una habitacion esta ocupada en mi base de datos, no puedo darsela a otra persona.
Lo que requiero es eso, tengo dudas en como comprobar si esa habitacion figura como disponible y darsela a alguien.
Y en caso de que figure como No disponible no darsela.
Probe con mysql_num_rows($ress)>0 pero no me doy cuenta, si es esta la que tengo que usar, o capas que es una cuestion de logica, si alguien me da una mano, gracias.
Tan sencillo como crearle otra tabla a tu base de datos (para mi la mejor opción) una tabla con nombre "Status" por ejemplo:
------------------------------
IdStatus Status
------------------------------
1 Disponible
2 No Disponible
------------------------------
relacionada con la tabla "Habitaciones y a la hora de filtar, haces algo como:
SELECT aqui los campos que desees FROM Habitaciones WHERE IdStatus <> 2
Conociendo que el id 2 es "No Disponible", solo te listará las habitaciones desocupadas. ;)
Obviamente, cada vez que asignes una nueva habitación, deberás cambiar el status de la misma en la base de datos.
saludos!
Muchas gracias por la respuesta, voy a tener eso en cuenta, la relaciones con las tablas las puedo hacer con el INNER JOIN verdad?.
Saludos y gracias.
No, la cláusula que mencionas solo la usaras cuando quieras combinar registros de dos o más tablas, con concordancia de valores en un campo común.
Por ejemplo: teniendo la tabla "Habitaciones" y la tabla "tStatus" y estando relacionadas (directamente en la base de datos), puedes estructurar la consulta de varias formas.
1- Haciendo una consulta sencilla:
SELECT IdHab,NombreHab,IdStatus FROM Habitaciones WHERE IdStatus <> 2
El resultado seria algo así:
IdHab NombreHab IdStatus
1 C - 25 1
3 H - 03 1
2- Haciendo uso de la cláusula INNER
SELECT h.IdHab, h.NombreHab,s.tStatus FROM Habitacion as h
INNER JOIN tStatus as s on h.IdStatus = s.IdStatus WHERE h.IdStatus <> 2
IdHab NombreHab tStatus
1 C - 25 Disponible
3 H - 03 Disponible
3- etc, etc..
Pero a lo que yo me refería en el port anterior, era a que crearas una nueva tabla en tu base de datos "tStatus" y modificaras la tabla "Habitaciones" para asignar el nuevo campo foráneo y posteriormente elaborar las restricciones correspondientes, no se si me explique.
Luego las consultas es más facil filtrando.
saludos!