PHP - comparar asientos ocupados y libre

   
Vista:

comparar asientos ocupados y libre

Publicado por francisco fvskate@gmail.com (9 intervenciones) el 10/04/2015 09:07:35
buenas amigos planteo la problematica que tengo estoy realizando una aplicacion para venta de boletos ya tengo generado mi unidad vendo y registro mi boleto con su numero todo pero debo comparar cual asiento esta vendido y cual esta disponible logro hacerlo pero solo valido el primer asiento vendido los demas no me los validad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?php
/*  
 * visitantes_ins.php 
 *  
 * formulario en html que guarda registro en una base de dato mysql 
 *  
 * @autor: Francisco ventura 
 * @version 1.0 
 *  
 * */ 
 header('Content-Type: text/html; charset=utf-8');
include 'lib/db.php';
//conexion de la base de dato 
$enlace   = conectar();
$unidad=$_GET['unidad'];
 
 
$rs     = mysql_query("SELECT * FROM ruta where unidad='$unidad'" ,$enlace);
$filas = mysql_fetch_array($rs);
 
$rs1    = mysql_query("SELECT asiento,status,unidad from boletos where unidad='$unidad'",$enlace);
$filas1=mysql_fetch_array($rs1);
 
 
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Gestionar Boletos</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
    <script src="js/jquery-1.11.2.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
    <style>
 
        .glyphicon { margin-right:10px; }
        .panel-body { padding:0px; }
        .panel-body table tr td { padding-left: 15px }
        .panel-body .table {margin-bottom: 0px; }
    </style>
 
</head>
 
<body>
 
 
        <div class="container-fluid well">
 
        </div>
 
        <div class="container">
            <?php
        include 'menu/menu.php';
        ?>
        </div>
 
        <div class="col-sm-9 col-md-9 well">
            <form class="form-horizontal" action="?" method="POST">
                <label class="control-label col-md-4 col-md-offset-3 ">Gestionar de boleto</label>
                <br><br>
                 <div class="form-group">
                <div class="row">
                    <div class="col-sm-9 col-md-9 ">
 
                         <div class="col-md-2 col-md-offset-0" >
                         <label>Unidad</label>
                            <input type="text" class="form-control" name="unidad" value="<?=$filas['unidad']?>">
                        </div>
 
                         <div class="col-md-3 col-md-offset-0" >
                         <label>Destino</label>
                                <input type="text" class="form-control" name="destino" value="<?=$filas['destino']?>">
 
                        </div>
                        <div class="col-md-2 col-md-offset-0" >
                         <label>Asientos</label>
                         <input type="text" class="form-control"  name="puestos" value="<?=$filas['puestos']?>">
                        </div>
 
                        <div class="col-md-2 col-md-offset-0" >
                         <label>Tarifa</label>
                         <input type="text" class="form-control"  name="tarifa" value="<?=$filas['tarifa']?>">
                        </div>
 
                        <div class="col-md-2 col-md-offset-0">
                         <label>Hora</label>
                          <input type="text" class="form-control"  name="hora" value="<?=$filas['hora']?>">
                        </div>
                    </div>
                    <div class="col-md-3" >
                         <label>Fecha</label>
                         <input type="date" class="form-control"  name="fecha" value="<?=$filas['fecha']?>">
                        </div>
 
 
                    </div>
                    <br><br><br>
 
                    <table border="0" align="center" cellpadding="0" cellspacing="0" class="bus">
                            <tr class="bus">
                            <td class="bus" background="gen_libs/images_bus/background_bus1.png">
                            <img src="gen_libs/images_bus/top_bus1.png">
                            </td>
 
                            </tr>
                            <tr class="bus">
                            <td class="bus" background="gen_libs/images_bus/background_bus1.png">
                            <?php
 
 
                            $a=0;
                            $b=0;
                            $c=0;
                            $d=0;
                            $num_places=$filas['puestos'];
                            while ($a < $num_places){
 
                                    $a++;
 
                                if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
 
                                    echo '&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="ocupado"></a>';
 
                                  }
                                 else{
                                     echo '&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
                                     }
 
 
                                 $c++; //Grupo (b) aientos pares pasillo central izquierdo  
 
 
                                if ($c < $num_places){
                                     $a++;
                                     if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
                                 echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                                     }
                                     else{
                                         echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
                                     }
                                 $c++;//Grupo (a) asientos impares ventana izquierdo  
 
                                  }
                                 if ($c < $num_places){
                                 $a=$a+2;
                                 if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
                                 echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                                 }
                                 else{
                                     echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                 <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
                                 }
                                 $c++;     //Grupo (c) aientos pares pasillo central derecho  
                                 }
                                 $a=$a-1;
 
                                 if ($c < $num_places){
                                     if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
                                 echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';
                                 }
                                 else{
                                      echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
                                 <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a><br>';
                                 }
                                 $c++;  //Grupo (d) aientos impares ventana derecho       
                                 }
                                 $a=$a+1;
                             }
 
                            ?>
                            </td>
                            </tr>
                            <tr class="bus">
                            <td class="bus">
                            <img src="gen_libs/images_bus/footer_bus1.png">
                            </td>
                            </tr>
                            </table>
 
                </div>
                </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
    </div>
 
    </div>
    </form>
</body>
</html>
<?php
// Cierre de conexión  
desconectar ($enlace);
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 10/04/2015 18:14:09
Hola....

Pues regularmente esto tiene la siguiente lógica, o por lo menos es como yo lo haría ^^!!

Cada asiento tiene un numero de asiento así como un estatus el cual viene siendo 1 o 0, 1 nos indica que esta ocupado y 0 que esta disponible, entonces mandamos a llamar todos los asientos, no nos importa su estatus en este momento ya que al final cuando el usuario le muestra la pantalla al cliente se visualizan todos los asientos, lo único que lo diferencia de uno disponible es el color (Es lo que he visto en estos sistemas xD), entonces si obtenemos los asientos de la siguiente forma...

1
SELECT num_asiento,estatus FROM asiento

Entonces solamente sería cuestión de mostrarlo de manera correcta al usuario mediante su estatus, quedando de la siguiente manera...

1
2
3
4
5
6
7
8
9
$sql="SELECT num_asiento,estatus FROM asiento";
$execute=mysqli_query($conexion,$sql);
while($row = mysqli_fetch_array($execute)){
	if ($row[1] == '0'){
		echo "No. Asiento: ".$row[0]." Estatus: DISPONIBLE."
	} else {
		echo "No. Asiento: ".$row[0]." Estatus: OCUPADO."
	}
}

Como puedes ver, mando a llamar a todos lo único que cambia es la forma en que se lo muestro al cliente, incluso si gustas puedes cambiar el texto DISPONIBLE y OCUPADO por una imagen de un asiento de color blanco para los disponibles y color rojo para los ocupados, en fin, ahí depende de la creatividad que tengas para hacer el sistema.

Cabe mencionarte que esta es la forma en que yo haría el sistema.

Cualquier duda y/o comentario, aquí estamos.

P.D. No uso el tradicional mysql_query, etc, debido a que esta pasando a ser obsoleto sino es que ya se obsoleto completamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco (9 intervenciones) el 10/04/2015 19:31:13
gracias alberto por tu respuesta te cuento que es el problema que tengo actualmente valido y me muestra solo el primer asiento que vendi ejemplo vendo el puesto 5,6,7 solo me muestra como ocupado el 7 mas no el 6 y el 5 si hago un
while($filas1=mysql_fetch_array($rs1))
$asiento=$filas1['asiento'];
echo$asiento
me muestra todo los asiento vendido
al llamar la variable $asiento fuera de ese while solo me muestra el ultimo asiento vendido mas no lo anterios necesito es dentro de este while que me genera todos los asiento repetir la variable que me guarda los asiento vendido no se si me explico
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
$num_places=$filas['puestos'];
while ($a < $num_places){
 
    $a++;
 
    if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
 
            echo '&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="ocupado"></a>';
 
        }
        else{
            echo '&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
        }
 
        $c++; //Grupo (b) aientos pares pasillo central izquierdo
 
 
    if ($c < $num_places){
        $a++;
        if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
        }
        else{
            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
        }
        $c++;//Grupo (a) asientos impares ventana izquierdo  
 
    }
    if ($c < $num_places){
        $a=$a+2;
        if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
        <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
        }
        else{
            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
        <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
        }
        $c++;     //Grupo (c) aientos pares pasillo central derecho
    }
        $a=$a-1;
 
    if ($c < $num_places){
        if($a!=$filas1['asiento'] and $filas1['status']="Vendido"){
            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';
        }
        else{
            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas["unidad"].'&destino='.$filas["destino"].'&hora='.$filas["hora"].'&tarifa='.$filas["tarifa"].'&fecha='.$filas["fecha"].'">
            <img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a><br>';
        }
        $c++;  //Grupo (d) aientos impares ventana derecho
    }
    $a=$a+1;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 10/04/2015 19:53:07
De acuerdo a tu código, tiene razón al mostrarte el último valor, veras... te muestra el ultimo asiento debido a que a la variable $num_places va obtener el valor de tu campo asiento por cada fila que encuentre en la base de datos; es decir, encontró el asiento 5 que esta ocupado, eso lo asignas a la variable, pero como lo tienes dentro de un while encontes vuelve a pasar y ahora no es 5 sino es 6, y así sucesivamente, obviamente como el último asiento de la consulta es el 7 por eso mismo se queda con ese valor.

A mi punto de vista, este while ($a < $num_places){} es innecesario ya que como bien sabes el método mysql_fetch_array() nos devuelve un arreglo con los resultados de la consulta, entonces solamente sería cuestión que dentro de ese while(mysql_fetch_array(parametro){} realicemos tu validación...

1
2
3
4
5
6
7
8
while ($filas = mysql_fetch_array(tuparametro)){
	if($a != $filas['asiento'] and $filas['status'] = 'Vendido'){
		// Codigo
	} else{
		// Codigo
	}
	...
}

O bien las validaciones necesarias...

Cualquier duda y/o comentario, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

comparar asientos ocupados y libre

Publicado por FRANCISCO VENTURA (9 intervenciones) el 10/04/2015 20:57:21
si capto lo que dices amigo alberto pero si quito el while ($a<$num_places) como genero los asientos libres para luego asignarlos a la venta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 10/04/2015 21:43:12
Recuerda que traes todos los asientos y tu validación define cual esta libre y cual esta ocupado, lo que puedes hacer en este caso es que cuando encuentre un asiento libre agregarle algún botón o link para que al momento de darle click, ese asiento que elegiste te mande a la venta de ese asiento.

Eh de suponer que después de capturar los datos del cliente, el cliente puede seleccionar el asiento que el quiera, entonces si le doy click por ejemplo al numero 2 entonces ese asiento se va para la venta, si confirmo la venta del asiento ese asiento pasa ocupado, pero si quiero seguir seleccionado asientos entonces ese asiento debe ponerse en estatus de espera para cuando lo vea el cliente sepa cual asiento tiene en espera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco (9 intervenciones) el 13/04/2015 10:56:02
saludos amigo alberto segui tus consejo y ya resolvi la validacion de los asientos todo perfecto sin novedad puedo validar asientos ocupado y libre ahora se me presento otro pequeño detalle al quitar el while ($a < $num_places) se me daño el diseño del bus a ver si me puedes ayudar a ver donde tengo el error es algo que me esta faltando que estoy ejecutando de forma erronea el codigo es el siguiente saludos y gracias de antemano adjunto imagen para que veas como se me genera
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<table border="0" align="center" cellpadding="0" cellspacing="0" class="bus">
    <tr class="bus">
    <td class="bus" background="gen_libs/images_bus/background_bus1.png">
    <img src="gen_libs/images_bus/top_bus1.png">
    </td>
 
    </tr>
    <tr class="bus">
    <td class="bus" background="gen_libs/images_bus/background_bus1.png">
 
    <?php
        $c=0;
        $pla=$filas['puestos'];
 
        while($filas1 = mysql_fetch_array($rs1)){
                $a=$filas1['asiento']*1;
 
                    if ($filas1['status'] == 'Libre'){
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                        } else {
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
                        }
                    $c++;
 
                if($c < $pla ){
                $a++;
                if ($filas1['status'] == 'Libre'){
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                    } else{
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                    }
                $c++;
                }
 
                if ($c < $pla){
                    $a=$a+2;
                        if ($filas1['status'] == 'Libre'){
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';      //Grupo (c) aientos pares pasillo central derecho 
                        }else{
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                        }
                        $c++;
                    }
                    $a=$a-1;
                    if ($c < $pla){
                            if ($filas1['status'] == 'Libre'){
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';   //Grupo (d) aientos impares ventana derecho      
                            } else{
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';
                            }
                    $c++;
                }
                    $a=$a+1;
            }
        ?>
    <tr class="bus">
    <td class="bus">
    <img src="gen_libs/images_bus/footer_bus1.png">
    </td>
    </tr>
</table>

bus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 13/04/2015 19:29:36
Hola, amigo...

Estos errores se presentan regularmente cuando no estamos cerrando todas las etiquetas de manera correcta, no tiene nada que ver con el aspecto lógico de tu App, pase tu código a notepad++ ya que ahí es mas fácil identificar la estructura que tiene tu archivo, y efectivamente no estas cerrando el <tr> y <td> de la segunda fila de tu tabla; es decir, donde esta todo el código PHP no lo estas cerrando.

HTML, es un lenguaje de etiquetas especial en ese aspecto, aunque la mayoría de los lenguajes que conozco que se basan en etiquetas son muy especiales en ese aspecto de cerrar y abrir etiquetas, una etiqueta aunque sea mínima puede destruir un diseño elegante.

Cualquier duda y/o comentario, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco fvskate@gmail.com (9 intervenciones) el 14/04/2015 00:14:17
buenas amigo realize tu recomendacion pero no me resulta lo que quiero es generar 4 filas que me salgan 1 2 4 3 sucesivamente en la siguiente 5 6 8 7 los asientos ya los muestro y los valido pero estoy enrollado como organizarlos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 14/04/2015 01:41:36
Algo así...
Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco (9 intervenciones) el 14/04/2015 01:55:46
algo asi si te fijas en el mensaje anterio muestro mas o menos como lo genero pero tengo algunos errores que no logro resolver
bus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 14/04/2015 04:24:13
Hola...

Porque no creas una tabla con 4 columnas, ya que yo probé el resultado y funciona perfecto...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
	echo "<table>";
	$conta = 1;
	for ($i = 1; $i <= 10; $i++){
		echo "
		<tr>
			<td>
				<div style='border:1px solid black; width:50px; height:50px; text-align:center; line-height:50px;'>".$conta++."</div>
			</td>
			<td>
				<div style='border:1px solid black; width:50px; height:50px; margin-right:50px; text-align:center; line-height:50px;'>".$conta++."</div>
			</td>
			<td>
				<div style='border:1px solid black; width:50px; height:50px; text-align:center; line-height:50px;'>".$conta++."</div>
			</td>
			<td>
				<div style='border:1px solid black; width:50px; height:50px; text-align:center; line-height:50px;'>".$conta++."</div>
			</td>
		</tr>";
	}
	echo "</table>";
?>

El while sería el for en este caso y el conta seria el código que ya tienes hecho. Te anexo la imagen para que veas el resultado.

Cualquier duda y/o comentario, aquí estamos. Suerte!

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco (9 intervenciones) el 14/04/2015 14:23:03
saludos hno gracias por tu respuestas en mi while tengo esto while($filas1 = mysql_fetch_array($rs1)) anteriormente tenia un while ($a < cantidad de puesto) yo tengo todos los asientos en un tabla con su status con mi $filas1 =mysql_fetch_array($rs1) los leeo todos para luego mostrarlos si hago ese for vuelvo a lo mismo que tenia anterios mente con mi while ($a < cantidad de puesto) generaba los asientos como quiera pero no mostraba los asientos de la base de dato y al validar solo validaba el ultimo asiento no todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 14/04/2015 17:04:59
Me perdí xD... Entonces si resolviste el problema??? ^^!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por francisco (9 intervenciones) el 14/04/2015 18:26:55
la parte de validar los asiento si lo resolví seguí tu consejo y pude resolverlo gracias de antemano pero ahora como lo cambie siguiendo tu consejo lo hago asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<table border="0" align="center" cellpadding="0" cellspacing="0" class="bus">
    <tr class="bus">
    <td class="bus" background="gen_libs/images_bus/background_bus1.png">
    <img src="gen_libs/images_bus/top_bus1.png">
    </td>
 
    </tr>
    <tr class="bus">
    <td class="bus" background="gen_libs/images_bus/background_bus1.png">
 
    <?php
        $c=0;
        $pla=$filas['puestos'];
 
        while($filas1 = mysql_fetch_array($rs1)){
                $a=$filas1['asiento']*1;
 
                    if ($filas1['status'] == 'Libre'){
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                        } else {
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
                        }
                    $c++;
 
                if($c < $pla ){
                $a++;
                if ($filas1['status'] == 'Libre'){
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                    } else{
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                    }
                $c++;
                }
 
                if ($c < $pla){
                    $a=$a+2;
                        if ($filas1['status'] == 'Libre'){
                        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';      //Grupo (c) aientos pares pasillo central derecho 
                        }else{
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a>';
                        }
                        $c++;
                    }
                    $a=$a-1;
                    if ($c < $pla){
                            if ($filas1['status'] == 'Libre'){
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';   //Grupo (d) aientos impares ventana derecho      
                            } else{
                            echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"></a><br>';
                            }
                    $c++;
                }
                    $a=$a+1;
            }
        ?>
    <tr class="bus">
    <td class="bus">
    <img src="gen_libs/images_bus/footer_bus1.png">
    </td>
    </tr>
</table>
y me genera la distribución así que es el problema que tengo ahora
552b83ec9a88b-bus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

comparar asientos ocupados y libre

Publicado por Alberto (221 intervenciones) el 14/04/2015 18:41:30
Haber...

Intenta nuevamente...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<table border="0" align="center" cellpadding="0" cellspacing="0" class="bus">
	<tr class="bus">
		<td class="bus" background="gen_libs/images_bus/background_bus1.png">
			<img src="gen_libs/images_bus/top_bus1.png"/>
		</td>
	</tr>
	<tr class="bus">
		<td class="bus" background="gen_libs/images_bus/background_bus1.png">
			<?php
				$c=0;
				$pla=$filas['puestos'];
 
				while($filas1 = mysql_fetch_array($rs1)){
						$a=$filas1['asiento']*1;
 
						if ($filas1['status'] == 'Libre'){
							echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';
						} else {
							echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'r.png" border="0" title="Ocupado"></a>';
						}
						$c++;
 
						if($c < $pla ){
							$a++;
							if ($filas1['status'] == 'Libre'){
								echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';
							} else{
								echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'&unidad='.$filas['unidad'].'&destino='.$filas['destino'].'&hora='.$filas['hora'].'&fecha='.$filas['fecha'].'&tarifa='.$filas['tarifa'].'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';
							}
							$c++;
						}
 
						if ($c < $pla){
							$a=$a+2;
							if ($filas1['status'] == 'Libre'){
								echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';      //Grupo (c) aientos pares pasillo central derecho 
							}else{
								echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';
							}
							$c++;
						}
 
						$a=$a-1;
						if ($c < $pla){
							if ($filas1['status'] == 'Libre'){
								echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';   //Grupo (d) aientos impares ventana derecho      
							} else{
								echo '&nbsp;&nbsp;&nbsp;&nbsp;<a href="ticket.php?pl='.$a.'" target="_blank"><img src="gen_libs/images_bus/'.$a.'.png" border="0" title="LIBRE"/></a>';
							}
							$c++;
						}
						$a=$a+1;
					}
			?>
		</td>
	</tr>
	<tr class="bus">
		<td class="bus">
			<img src="gen_libs/images_bus/footer_bus1.png"/>
		</td>
	</tr>
</table>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por diego (3 intervenciones) el 23/03/2016 06:57:45
hola francisco te cuento que estoy con el mismo tema no se como validar si tienes por ahi todavia tus apuntes me puedes pasar por fa lo que hice fue consultar la base de datos la columna y encotrar todos los asientos ocupados y muestro en una array pero nose como asignarlos a cada celda de asientos y cambiarle de color rojo los que están ocupados

los asientos del bus tengo echo en una tabla con td y asino con while
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por FRANCISCO VENTURA fventura@apamate.com.ve (2 intervenciones) el 27/03/2016 19:59:37
saludos diego básicamente el problema lo resolví de la siguiente forma tengo una tabla donde se generan todos lo asientos de la unidad con un status libre realizo una consulta a esa tabla y recorro con un while todo el arreglo y voy comparando los estatus si es libre lo pinta de color azul de lo contrario lo coloco en rojo y lo bloqueo

<table align="center">
<img class="img-responsive center-block" src="gen_libs/images_bus/top_bus1.png">';
while($row = mysqli_fetch_array($registro)){
if($row['status']!='Vendido' and $row['status']!='Cambio' and $row['status']!='Reservado' ){
echo'<td background="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:boleto('.$row['Id_boleto'].');">
<img src="gen_libs/images_bus/'.$row['asiento'].'.png" border="0" title="Libre" ></a>&nbsp;&nbsp;&nbsp;</td>';

}
elseif($row['status']!='Libre'){


echo'<td background="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="gen_libs/images_bus/'.$row['asiento'].'r.png" border="0" title="Ocupado">&nbsp;&nbsp;&nbsp;</td>';
}


if($centinela == 4){

echo'<tr></tr>';

$centinela = 0;
}
$centinela++;

}
echo'</table>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por diego despinoza.diego@gmail.com (3 intervenciones) el 28/03/2016 03:47:29
gracias me sirvió mucho pero ahora el problema es que solo me aparece los asientos en una linea horizontal para darle formato en cuatro columnas como tendría que hacer trate de poner mas <tr></tr> pero no me funciona.
Y esta parte de tu codigo no le entiendo mucho que es lo que realmente hace
1
2
3
4
5
6
7
8
9
if($centinela == 4){
 
echo'<tr></tr>';
 
$centinela = 0;
}
$centinela++;
 
}

vi también que tienes una función javascript boletos() según a lo que entiendo una vez echo click registras con esa función de javascript todo el formulario ala BD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por FRANCISCO VENTURA fventura@apamate.com.ve (2 intervenciones) el 28/03/2016 14:04:09
si claro te salen así porque la variable $centinela no la has inicializado coloca al principio del código o antes de generar la tabla $centinela = 1; y con eso te deben salir las 4 filas en vertical.

yo uso una función javascritp para enviar el numero de asiento a un formulario donde se va a registrar el nombre del pasajero y todo eso luego si hago la inserción en la db, pero puedes hacer el envió por metodo get

esta parte del codigo if($centinela == 4){

echo'<tr></tr>';

$centinela = 0;
}
$centinela++;

} lo que hace es generar las 4 columnas inicias la variable centinela en 1 y en el recorrido cuando sea igual a 4 genera 4 columnas en vertical
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por diego despinoza.diego@gmail.com (3 intervenciones) el 29/03/2016 01:46:05
hice como me indicaste me muestra libre los que estan libres y ocupado los ocupados y me genera 4 columnas pero el problema es que no me muestra el numero de asientos me muestra el valor del TITTLE en cada uno de los td y otro problema es que cargo una imagen ocupado.png a asiento ocupado y libre.png pero no funciona no se que es lo que estoy haciendo mal ahi te pongo el codigo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$centinela = 1;
echo '<table align="center" >';
echo'<tr>';
while($row = mysql_fetch_array($result)){
if($row['status']=='libre'){
echo'<td background="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <a href="javascript:boleto('.$row['id'].');">
 <img src="img/'.$row['num_asiento'].'libre.png" border="0" title="Libre" >
 </a>&nbsp;&nbsp;&nbsp;</td>';
 
}
else
if($row['status']!='libre'){
 
 
echo'<td background="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="img/'.$row['num_asiento'].'ocupado.png"  title="ocupado">&nbsp;&nbsp;&nbsp;</td>';
 
}
if($centinela == 4){
 
echo'</tr><tr>';
 
$centinela = 0;
}
$centinela++;
}
echo'</tr></table>'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

comparar asientos ocupados y libre

Publicado por Edson Tomas edson.tomas@hotmail.es (1 intervención) el 02/12/2016 21:52:21
Tengo desarrollado una aplicacion para venta de boletos.

Url Demo: http://buses.esisdem.com/

usuarios:

usuario: acari
pass: demo

usuario: luna
pass: demo

usuario: paseo
pass: demo

si estas interesado enviame un email a: edson.tomas@hotmail.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar