Foros del Web » Programando para Internet » Jquery »

Gráfico de asiento en Javascript

Estas en el tema de Gráfico de asiento en Javascript en el foro de Jquery en Foros del Web. Muy buenas otra vez :P como habéis visto algunos hace poco, estoy haciendo un sitio web que me han mandado en clase sobre sacar billetes ...
  #1 (permalink)  
Antiguo 25/07/2013, 00:49
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Busqueda Gráfico de asiento en Javascript

Muy buenas otra vez :P
como habéis visto algunos hace poco, estoy haciendo un sitio web que me han mandado en clase sobre sacar billetes de buses en php

Gracias al foro conseguí solucionar el tema del mapa de ciudades, ahora me surge otra duda:

-Debo hacer un gráfico de asientos en el que el cliente pueda escoger un asiento y así se guarda en la base de datos dicho asiento. He visto varias webs en las que aparece dicho grafico, he entrado en su codigo fuente para ver como lo hacían pero nada
-Me pregunto si existe algun jQuery de Javascript o algo parecido, lo he buscado por todas partes sin resultado alguno, alguna idea?

Para que os hagais una idea, entrar en esta página y hacer el procedimiento de sacar un billete, veréis el gráfico del que estoy hablando.
http://www.movelia.es/es/

Mil gracias de antemano
  #2 (permalink)  
Antiguo 25/07/2013, 11:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Gráfico de asiento en Javascript

no te compliques la vida, hay muchas formas de hacerlo, desde una tabla HTML con radiobuttons distribuidos, o simplemente asignar un numero a cada celda y con Javascript cambiar el valor de un campo oculto.

incluso en paginas de cines tienen algo similar, para elegir el asiento
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/07/2013, 11:46
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Gráfico de asiento en Javascript

Pues sería básicamente el mismo principio del mapa de ciudades. Podrías partir de eso.

Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 25/07/2013, 18:44
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Muchas gracias por las respuestas, en principio yo también había pensado en una tabla html con botones, pero es un trabajo importante y una tabla sería un poco cutre que digamos, la tengo en mente como último recurso xD
Primeramente querría algo en Javascript los típicos jquery como el mapa o las tipicas paletas de colores que aparecen en internet, he buscando en google pero nada, me aparecen de teatros etc.

Gracias de nuevo por vuestras respuestas y os animo a que me sigais ayudando :P
  #5 (permalink)  
Antiguo 26/07/2013, 09:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Gráfico de asiento en Javascript

obviamente el mostrar una simple tabla queda feo, pero se puede mejorar colocando la imagen de los asientos como fondo, quitando los bordes, etc, a modo de que aparente el interior el bus, y no digamos que la estructura cambie mucho, según el modelo del bus
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 26/07/2013, 16:13
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

jaja, el bus me da igual su modelo, simplemente deseo esa simulación de elección del asiento en el gráfico xD
De hecho he encontrado algo maravillosamente maravilloso, nose ni como, tras buscar durante horas con una taza de té..he enncontrado este, echarle un vistazo es muy muy bueno:
http://demo.techbrij.com/780/seat-reservation-jquery-demo.php

El problema que tengo ahora es como asignarle su propia base de datos, como se guardará en ella el asiento que he escogido, si os dais cuenta, se pueden cliquear muchos asientos a la vez yo desearía que solo uno fuera posible etc, el tutorial que viene en la página que os proporcioné ya lo tengo que es adaptar el gráfico a la página web. He visto otro tutorial sobre la base de datos pero no me he enterado de mucho la verdad, si me podeis echar una mano por favor :P
Este es el tutorial que os digo:
http://techbrij.com/online-ticket-booking-system-asp-net-sql-server

Muchas gracias de antemano por vuestro tiempo¡¡
  #7 (permalink)  
Antiguo 28/07/2013, 13:32
 
Fecha de Ingreso: abril-2009
Mensajes: 356
Antigüedad: 15 años
Puntos: 7
Respuesta: Gráfico de asiento en Javascript

Buenas

No se si te servirá de mucho pero aveces lo mas sencillo es lo mas fácil

Creas una tabla en la base datos que sea asientos y le das 3 valores, 1 el id del autobús ,otro el numero de asiento y otro si esta libre o ocupado

Cuando el usuario elija el autobús en el que quiere ir lo buscas en la base de datos y almacena en un array los datos de ese autobús

Creas un formulario y recorres el asiento, si esta libre pones un boton con el id del asiento y un oculto del id del de autobús

Cuando mandes el form guardas en la base de datos que autobús es y que asiento y canvias el libre por ocupado así nadie mas podrá coger ese asiento y así solo se podrá seleccionar 1
__________________
Cannabis; todo sobre el mundo de la marihuana
  #8 (permalink)  
Antiguo 28/07/2013, 23:07
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Hola dvd181191 que tal?
No me has entendido por explicarme mal xD La cuestión no es saber el procedimiento ni que tablas tendré etc, sino COMO conjuntar la tabla con el Jquery que puse ahi de asientos, es decir, lo encontré por hay y resulta que su autor pone una especie de tutoria de como usarlo en una base de datos, pero no me he enterado muy bien del tutorial, lo que nose exactamente es como hacerle a dicho gráfico lo que me has comentado, jugar con él sabes?

muchas gracias por vuestras colaboraciones y un saludo¡¡
  #9 (permalink)  
Antiguo 02/08/2013, 01:46
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Hola chicos, he estado estos días con este tema del gráfico de asientos del autocar y tengo unas cuantas dudas haber si me podéis ayudar:
Para empezar aquí tenéis el gráfico para que veáis como es: http://demo.techbrij.com/780/seat-reservation-jquery-demo.php

Vale, las dudas que tengo son las siguientes, ahora os pongo el código para que lo veáis, hay una parte de Javascript en la que pone [5, 10, 25], donde he puesto mirar aquí en el código, esas son las plazas escogidas anteriormente por otro clientes que sacaron el billete lo cual los asientos salen en rojo y al dar clic sobre ellos sale un alert diciendo que los asientos ya están ocupados, esos tres números son de la demo pero lo que necesito hacer yo es, de una base de datos que tengo, recorrer la columna numSillas de la tabla asientos y sacar los números que los asientos ocupados, los cuales pretendo ponerlos en vez de esos tres número para que así me marque los asiento ocupados de mi propia tabla y no de la demo. La otra duda que tengo ees cuando se va a seleccionar un asiento, se pueden seleccionar varios a la vez, yo quisiera que sólo se pueda seleccionar uno. Quien me ayude le estaré muy agradecido, aquí tenéis el código:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Demo Seat Reservation with jQuery</title>

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<style type="text/css">
#holder{
height:200px;
width:550px;
background-color:#F5F5F5;
border:1px solid #A4A4A4;
margin-left:10px;
}
#place {
position:relative;
margin:7px;
}
#place a{
font-size:0.6em;
}
#place li
{
list-style: none outside none;
position: absolute;
}
#place li:hover
{
background-color:yellow;
}
#place .seat{
background:url("images/available_seat_img.gif") no-repeat scroll 0 0 transparent;
height:33px;
width:33px;
display:block;
}
#place .selectedSeat
{
background-image:url("images/booked_seat_img.gif");
}
#place .selectingSeat
{
background-image:url("images/selected_seat_img.gif");
}
#place .row-3, #place .row-4{
margin-top:10px;
}
#seatDescription{
padding:0px;
}
#seatDescription li{
verticle-align:middle;
list-style: none outside none;
padding-left:35px;
height:35px;
float:left;
}
</style>

</head>
<body>
<form id="form1" runat="server">


<h2 style="font-size:1.2em;"> Choose seats by clicking the corresponding seat in the layout below:</h2>
<div id="holder">
<ul id="place">
</ul>
</div>
<div style="width:600px;text-align:center;overflow:auto">
<ul id="seatDescription">
<li style="background:url('images/available_seat_img.gif') no-repeat scroll 0 0 transparent;">Available Seat</li>
<li style="background:url('images/booked_seat_img.gif') no-repeat scroll 0 0 transparent;">Booked Seat</li>
<li style="background:url('images/selected_seat_img.gif') no-repeat scroll 0 0 transparent;">Selected Seat</li>
</ul>
</div>
<div style="width:580px;text-align:left;margin:5px">
<input type="button" id="btnShowNew" value="Show Selected Seats" /><input type="button" id="btnShow" value="Show All" />
</div>

</form>
<script type="text/javascript">
$(function () {
var settings = {
rows: 5,
cols: 15,
rowCssPrefix: 'row-',
colCssPrefix: 'col-',
seatWidth: 35,
seatHeight: 35,
seatCss: 'seat',
selectedSeatCss: 'selectedSeat',
selectingSeatCss: 'selectingSeat'
};

var init = function (reservedSeat) {
var str = [], seatNo, className;
for (i = 0; i < settings.rows; i++) {
for (j = 0; j < settings.cols; j++) {
seatNo = (i + j * settings.rows + 1);
className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString();
if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) {
className += ' ' + settings.selectedSeatCss;
}
str.push('<li class="' + className + '"' +
'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' +
'<a title="' + seatNo + '">' + seatNo + '</a>' +
'</li>');
}
}
$('#place').html(str.join(''));
};

//case I: Show from starting
//init();

//Case II: If already booked
var bookedSeats = [5, 10, 25]; //--------------------------------Mirar aqui---------------------------
init(bookedSeats);


$('.' + settings.seatCss).click(function () {
if ($(this).hasClass(settings.selectedSeatCss)){
alert('This seat is already reserved');
}
else{
$(this).toggleClass(settings.selectingSeatCss);
}
});

$('#btnShow').click(function () {
var str = [];
$.each($('#place li.' + settings.selectedSeatCss + ' a, #place li.'+ settings.selectingSeatCss + ' a'), function (index, value) {
str.push($(this).attr('title'));
});
alert(str.join(','));
})

$('#btnShowNew').click(function () {
var str = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
str.push(item);
});
alert(str.join(','));
})
});

</script>
</body>
</html>

Gracias de antemano¡¡
Un saludo.
  #10 (permalink)  
Antiguo 02/08/2013, 03:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Gráfico de asiento en Javascript

Hola:

Por el ejemplo, parece que simplemente tienes que crear una capa y ponerle varias imágenes, que al clicquear cambien

Haz como aconsejan los informáticos: "Divide y vencerás", empieza creando esa capa con las imágenes y asóciale al evento click una función... luego verás como vamos progresando...

Si insistes en usar librerías tendremos que mover el tema.

Saaludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 02/08/2013, 17:22
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Mover el tema? lo siento pensaba que estaba bien aquí no llevo mucho en el foro :P
respecto a lo de la capa, estoy utilizando esa propia demo para mi página, no pretendo comenzar desde el principio sino modificar la demo con las dudas que puse junto al código, espero que alguien me ayude..

Gracias de antemano por cualquier ayuda y un saludo.

Última edición por Nass; 03/08/2013 a las 00:41
  #12 (permalink)  
Antiguo 03/08/2013, 02:50
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Hola chicos, ya tengo solucionada la parte de sacar de la base de datos los asientos y colocarlos en el gráfico lo único que me queda es el tema de cuando se va a seleccionar un asiento, se pueden seleccionar varios a la vez, yo quisiera que sólo se pueda seleccionar uno.
echarle un vistazo al código que dejé arriba haber si podéis ayudarme.

Gracias de antemano.
Saludos¡¡

Última edición por Nass; 03/08/2013 a las 04:22 Razón: parte del código solucionada
  #13 (permalink)  
Antiguo 05/08/2013, 23:06
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

Hola chicos como estáis?
llevo mucho tiempo ya con esto sin resultado alguno, echarle un vistazo por favor haber si se os ocurre algo, gracias
un saludo
  #14 (permalink)  
Antiguo 26/08/2013, 12:13
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Gráfico de asiento en Javascript

a nadie se le ocurre nada?

Etiquetas: javascript, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:04.