Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/11/2015, 15:52
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 8 meses
Puntos: 8
Respuesta: Como crear butacas para una sala de cine en php

Mira, te dejo una idea...
No hay conexión a base de datos, pero yo usaría esta lógica (al menos partiría de ahi).
A partir de ahí ya viene la creatividad de uno. Es decir, usar imagenes <img/> en vez de estilos, etc.

Saludos.

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <style type="text/css">
  4. table td{
  5.     min-width:50px;
  6.     min-height:50px;
  7.     text-align:center; 
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <?php
  13.  
  14. $aSala=array('id_sala'=>1,'fila'=>5,'columna'=>5);
  15. $aReservacion[]=array('id_reservacion'=>1,'id_sala'=>1,'cliente'=>'JUAN DIEGO ARI','butaca'=>'0:1');
  16. $aReservacion[]=array('id_reservacion'=>7,'id_sala'=>1,'cliente'=>'ISAMAR MARTINEZ','butaca'=>'1:4');
  17.  
  18. function pComprobarReservacion($aReservacion,$butaca=""){
  19.     $aDatosButaca=array();
  20.     foreach($aReservacion as $row){
  21.         if($row['butaca']==$butaca){
  22.             $aDatosButaca=$row;break;
  23.         }
  24.     }
  25.     return $aDatosButaca;
  26. }
  27.  
  28.  
  29. $fila=$aSala['fila'];$columna=$aSala['columna'];
  30. echo '<table border="1" style="border-collapse:collapse;">';
  31. for($f=0;$f<$fila;$f++){
  32.     echo '<tr>';
  33.     for($c=0;$c<$columna;$c++){
  34.         $butaca_temp=$f.":".$c;
  35.         $aDatosButaca=pComprobarReservacion($aReservacion,$butaca_temp);
  36.         $estilo="";$titulo="";
  37.         if(count($aDatosButaca)>0){
  38.             $estilo='style="background-color:#F00"';
  39.             $titulo='title="'.$aDatosButaca['cliente'].'"';
  40.         }
  41.         echo '<td '.$estilo.' '.$titulo.'>'.$butaca_temp.'</td>';
  42.     }
  43.     echo '</tr>';
  44. }
  45. echo '<table>';
  46. ?>
  47. </body>
  48. </html>

Última edición por oggy_15_3; 29/11/2015 a las 16:06