3. MARCO PROPOSITIVO
3.3 Metodología en cascada
3.3.4 Codificación
reservaciones.php
Script para generar lista donde escogeremos el tipo de paquete
<select name="slcpaquete" id="slcpaquete"> <?
$numregistro=0;
$cadsql="select NOMPAQUETE from paquetes"; $resultado=mysql_query($cadsql,$conexion); $numregistro=mysql_num_rows($resultado);
36
while ($po=mysql_fetch_array($resultado)) {
?>
<option><? echo $po['NOMPAQUETE']; ?></option> <?
} ?> </select>
Script para llamar la función del calendario
<input name="txtfecinicio" type="text" id="txtfecinicio" value="<? echo date("Y/m/d"); ?>" size="20" />
<input type="button" value="Cal"
onclick="displayCalendar(document.forms[0].txtfecinicio,'yyyy/mm/dd',this)" /> (Archivo reservaciones_datos.php) <? $paquete=$_POST['slcpaquete']; $hogar=$_POST['slchogar']; $numpersonas=$_POST['txtnumpersonas']; $fini=$_POST['txtfecinicio']; $ffin=$_POST['txtfecfin']; $time1 = strtotime($fini); $time2 = strtotime($ffin); $fechaini = date('Y-m-d',$time1); $fechafin = date('Y-m-d',$time2); $numpersonas=$_POST['txtnumpersonas'];
37 require"funciones.php";
$conexion =conectar_bd();
Script para sumar total de habitaciones
$totalhabitaciones=0;
$cad_casa="select NUMHABITACIONES from casas"; $resul_casas=mysql_query($cad_casa,$conexion); $numregistro=mysql_num_rows($resul_casas); if ($numregistro > 0 ) { while ($po_casas=mysql_fetch_array($resul_casas)) {
$totalhabitaciones = $totalhabitaciones + $po_casas['NUMHABITACIONES']; }
}
Script para verificar las fechas disponibles
$cadsql="select * from fechaocupada WHERE FECHAOCUPADA BETWEEN '$fechaini' AND '$fechafin'"; $resultado=mysql_query($cadsql,$conexion); $registros=mysql_num_rows($resultado); $fechaaamostar = $fechaini; $numregis=0; $conta2=0; while(strtotime($fechafin) >= strtotime($fechaini)) { if(strtotime($fechafin) != strtotime($fechaaamostar)) {
$cad_fpersonas="SELECT FECHAOCUPADA, NUMPERSONAS from FECHAOCUPADA Where FECHAOCUPADA='$fechaaamostar'";
38 //$po_focu=mysql_fetch_array($resul_focu); $numregis=mysql_num_rows($resul_focu); $conta=0; while ($po_focu=mysql_fetch_array($resul_focu)) {
$conta = $conta + $po_focu['NUMPERSONAS']; }
if(($conta+$numpersonas)>$totalhabitaciones) {
$conta2=$conta2+1; }
$fechaaamostar = date("Y-m-d", strtotime($fechaaamostar . " + 1 day")); } else { //echo "$fechaaamostar<br>"; //echo "error"; break; } }
Script que permite visualizar disponibilidad de habitaciones
if ($conta2 > 0 ) {
?>
<table width="252" border="0"> <tbody>
<tr class="cltit_login">
<td colspan="2" align="center" valign="middle"><? echo "No hay disponibilidad";
39 ?></td>
</tr> <tr class="cltit_login">
<td width="82" align="center" valign="middle">Fecha</td>
<td width="154" align="center" valign="middle">Disponibilidad</td> </tr> <? $fechaaamostar = $fechaini; $numregis=0; $conta2=0; while(strtotime($fechafin) >= strtotime($fechaini)) { if(strtotime($fechafin) != strtotime($fechaaamostar)) {
$cad_fpersonas="SELECT FECHAOCUPADA, NUMPERSONAS from FECHAOCUPADA Where FECHAOCUPADA='$fechaaamostar'";
$resul_focu=mysql_query($cad_fpersonas,$conexion); //$po_focu=mysql_fetch_array($resul_focu); $numregis=mysql_num_rows($resul_focu); $conta=0; while ($po_focu=mysql_fetch_array($resul_focu)) {
$conta = $conta + $po_focu['NUMPERSONAS']; }
if(($conta+$numpersonas)>=$totalhabitaciones) {
$conta2=$conta2+1; }
$fechaaamostar = date("Y-m-d", strtotime($fechaaamostar . " + 1 day"));
?>
40
<td align="center" valign="middle" bgcolor="#FFFFFF"><? echo $fechaaamostar;?></td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><? echo $totalhabitaciones - $conta;?></td> </tr> <? } else { //echo "$fechaaamostar<br>"; //echo "error"; break; } } ?> </tbody> </table>
<p><a href="reservaciones.php" class="hst_tit_user Estilo18">volver</a>
<? }
(Script donde se crean los campos para ingresar los datos de la reservación mientras cumpla la disponibilidad de habitaciones)
else {
?> </p>
<table width="961" border="0"> <tr>
<td height="42" colspan="2" align="center" valign="middle" class="cltit_login">DATOS PERSONALES</td>
<td class="cltit_login"> </td>
<td height="42" colspan="2" class="cltit_login"><div align="center" class="hst_tit_user">DATOS DE RESERVACIONES </div></td>
41 </tr>
<tr>
<td width="153" class="hst_user"><div align="left">INGRESE CEDULA:</div></td> <td width="318"><label>
<input name="txtcedula" type="text" size="15" id="txtcedula" /> </label></td> <td width="9"> </td> <td width="246"> </td> <td width="216"> </td> </tr> <tr> <td height="24" class="hst_user">NOMBRES:</td>
<td><input name="txtnombres" type="text" id="txtnombres" size="25" /></td> <td> </td>
<td class="hst_user">ESCOJA PAQUETE TURISTICO </td> <td><select name="slcpaquete" id="slcpaquete"> <?
//////////////////////////////////////////////// $numregistro=0;
$cadsql="select NOMPAQUETE from paquetes"; $resultado=mysql_query($cadsql,$conexion); $numregistro=mysql_num_rows($resultado);
while ($po=mysql_fetch_array($resultado)) {
?>
<option><? echo $po['NOMPAQUETE']; ?></option> <? }?> </select></td> </tr> <tr> <td height="24" class="hst_user">APELLIDOS:</td>
42 <td> </td>
<td><span class="hst_user">FECHA LLEGADA </span></td>
<td><input name="txtfecinicio" type="text" id="txtfecinicio" value="<? echo $fini; ?>" size="20" />
<input type="button" value="Cal"
onclick="displayCalendar(document.forms[0].txtfecinicio,'yyyy/mm/dd',this)" /></td> </tr>
<tr>
<td height="24" class="hst_user">DIRECCION:</td>
<td><input name="txtdireccion" type="text" id="txtdireccion" size="40" /></td> <td> </td>
<td class="hst_user">FECHA SALIDA </td>
<td><input name="txtfecfin" type="text" id="txtfecfin" value="<? echo $ffin; ?>" size="20" />
<input type="button" value="Cal"
onclick="displayCalendar(document.forms[0].txtfecfin,'yyyy/mm/dd',this)" /></td> </tr>
<tr>
<td height="24" class="hst_user">CIUDAD:</td>
<td><input name="txtciudad" type="text" id="txtciudad" size="25" /></td> <td> </td>
<td class="hst_user">N° PERSONAS</td>
<td><input name="txtnumpersonas" type="text" id="txtnumpersonas" value="<? echo $numpersonas; ?>" size="5" /></td>
</tr> <tr>
<td class="hst_user">PAIS:</td>
<td><input name="txtpais" type="text" id="txtpais" size="20" /> <label>
</label></td> <td> </td> <td> </td> <td><div align="left">
<input name="Submit" type="submit" formaction="grabar_reservaciones.php" formmethod="POST" value="Enviar" />
43 </div></td>
</tr> <tr>
<td class="hst_user">TELEFONO:</td>
<td><input name="txttelefono" type="text" id="txttelefono" size="15" /></td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td class="hst_user">EMAIL:</td>
<td><input name="txtemail" type="email" id="txtemail" size="25" /></td> <td> </td> <td> </td> <td> </td> </tr> </table> <? } ?> (Archivo grabar_reservaciones.php) <?php $cedula=$_POST['txtcedula']; $nombres=$_POST['txtnombres']; $apellidos=$_POST['txtapellidos']; $direccion=$_POST['txtdireccion']; $ciudad=$_POST['txtciudad']; $pais=$_POST['txtpais']; $telefono=$_POST['txttelefono']; $email=$_POST['txtemail']; $numpersonas=$_POST['txtnumpersonas'];
44 $paquete=$_POST['slcpaquete']; $hogar=$_POST['slchogar']; $fini=$_POST['txtfecinicio']; $ffin=$_POST['txtfecfin']; $time1 = strtotime($fini); $time2 = strtotime($ffin); $fechaini = date('Y-m-d',$time1); $fechafin = date('Y-m-d',$time2); require"funciones.php"; $conexion =conectar_bd(); Script Sacar id reservaciones
$idreservaciones=0;
$cadsql="select max(IDRESERVACIONES) as IDRESERVACIONES from reservaciones"; $resultado=mysql_query($cadsql,$conexion);
$po=mysql_fetch_array($resultado);
$idreservaciones=$po['IDRESERVACIONES']+1; Script sacar el Id del paquete que a elegido el cliente
$cadsql="select idpaquetes from paquetes where nompaquete='$paquete'"; $resultado=mysql_query($cadsql,$conexion);
$po=mysql_fetch_array($resultado); $idpaquete=$po['idpaquetes'];
Script donde verifica si el cliente ya echo reservaciones anteriormente
$cad_cedula="select idclientes from clientes where idclientes='$cedula'"; $resultado=mysql_query($cad_cedula,$conexion);
45
Script donde inserto los datos del cliente si aún no se registrado en el sistema
if($registros==0) {
$cadins_cliente="insert into clientes (IDCLIENTES, NOMBRES, APELLIDOS, DIRECCION, CIUDAD, PAIS, TELEFONO, EMAIL) values ('$cedula', '$nombres', '$apellidos', '$direccion', '$ciudad', '$pais', '$telefono', '$email')";
$resultado=mysql_query($cadins_cliente,$conexion); }
else{
///echo "existe"; }
Script donde se inserta los datos de la reservación
$cadins_reser="insert into reservaciones (IDRESERVACIONES,
IDCLIENTES,IDPAQUETES,FECHAINICO,FECHAFIN,ESTADO,COMPROBANTE, NUMPERSONAS) values ('$idreservaciones','$cedula','$idpaquete','$fechaini','$fechafin','-','-','$numpersonas')"; mysql_query($cadins_reser,$conexion);
$selec_cli="select IDCLIENTES, NOMBRES, APELLIDOS, DIRECCION, CIUDAD, PAIS, TELEFONO, EMAIL from clientes where idclientes='$cedula'";
$res_clie=mysql_query($selec_cli,$conexion); $po=mysql_fetch_array($res_clie);
Script sumar total de habitaciones $totalhabitaciones=0;
$cad_casa="select NUMHABITACIONES from casas"; $resul_casas=mysql_query($cad_casa,$conexion); $numregistro=mysql_num_rows($resul_casas); if ($numregistro > 0 )
46
while ($po_casas=mysql_fetch_array($resul_casas)) {
$totalhabitaciones = $totalhabitaciones + $po_casas['NUMHABITACIONES']; }
}