Tema: If anidado
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2008, 10:37
flipper666
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 9 meses
Puntos: 0
If anidado

Hola a todos,

pues me he quedado atascado en una chorrada con todo lo que llevo hecho... a ver si me podéis echar una mano.

Estoy haciendo una aplicación de reservas de viajes para una agencia pequeña. Uso php y varias bases de datos para gestionar los itinerarios de los cruceros, reservas, fechas de salida, etc.

El caso es que ya estoy terminando con las reservas y mi problema es que cuando un cliente reserve su plaza en el crucero lo puede hacer en tres puentes: standar, intermedio y superior, y dependiendo del crucero y la fecha de salida ésta puede estar confirmada, sin plazas o en espera. De tal forma que al grabar la reserva en la base de datos al mismo tiempo debe descontar las plazas reservadas de la base de datos de plazas disponibles SOLO si hay plazas (confirmada). Si no la reserva queda en espera y no se restan las plazas hasta que se confirmen posteriormente.

El caso es que voy sumando en un contador para todos los pasajeros que viajan en la reserva las plazas estandar, superior e intermedia y de ellas solo las que están confirmadas, para posteriormente restar el número que me sale de las plazas totales del crucero en las cabinas estandar, superior e intermedia. Me queda así:

Código PHP:
if (($tipocabina=="singstd") || ($tipocabina=="dbstd") || ($tipocabina=="tripstd")) {
if (
$row_reserva['estado'.$x]=="confirmado") {
    
$restarstd=$restarstd++;
}

El codigo está metido en un bucle for pues pueden reservar hasta 10 pasajeros. Los valores de $tipocabina están ya cogidos de la base de datos. Pues bien, ese if anidado donde primero pone como condición que la cabina es de tipo estandar (doble, triple o sencilla) y luego si es cierto verifica si la plaza está confirmada y suma una plaza a la variable restarstd siempre me da 0.

En Javascript los if anidados funcionan a la perfección y por lo que se y he investigado en PHP también pueden usarse, pero no entiendo que puedo estar haciendo mal. Si se os ocurre porque o si hay otra alternativa os agradecería me echarais un cable.

Gracias anticipadas y un saludo.