Ayuda con Practico de PHP y Base de Datos - Gestión de Restaurante

  • Autor Autor solmedina
  • Fecha de inicio Fecha de inicio
S

solmedina

Gamma
Diseñador
La consigna es la siguiente:

EL restaurante “La Anchoa” solicita la realización de un sistema que le permita administrar su oferta gastronómica.
Los administradores del restaurante necesitan que el sistema permita realizar la reserva de una mesa para un día determinado. Para ello, el sistema debe solicitar la fecha y hora de reserva y el número de personas que asistirán. En caso de disponer de lugar para la fecha y hora de reserva, el sistema debe solicitar los datos de quien realiza la reserva (al menos nombre y teléfono) y registrar esta reserva cuando el solicitante confirma la misma.
Además, como el restaurante posee un sistema de entrega a domicilio, debe proveer una funcionalidad que permita realizar un pedido desde la Web. Para ello, el sistema debe mostrar un listado de los platos disponibles, permitiendo seleccionar más de uno. Una vez que se seleccionó el/los platos, es necesario saber cuantas porciones de cada plato seleccionado se deben enviar para informar del costo total. El sistema debe
pedir información acerca del destino de envío, datos de quien lo realiza (al menos dirección, nombre y teléfono). La forma de pago para este sistema es solo en efectivo. El sistema debe solicitar que se informe con cuánto abonará el costo del pedido (este control es para que el cadete concurra con el cambio justo a llevar el pedido). Los pedidos pueden ser para el día, con lo cual sólo se pueden reservar platos disponibles, o para una fecha determinada, con lo cual se debe permitir la selección de platos que el restaurante ofrece pero que no necesariamente están disponibles en la fecha actual. Una vez que los datos han sido ingresados, el usuario debe confirmar el pedido.
En cuanto a la administración del sistema, el mismo debe proveer una funcionalidad, solo accesible para el administrador, que permita la carga, eliminación o actualización de la oferta gastronómica y de las solicitudes. Además, debe mostrar una lista de los pedidos realizados para envío a domicilio del día, actualizando dicho pedido de alguna manera que no queden pedidos sin satisfacer. Una vez cumplido el pedido, debe poderse marcar como tal.


Tengo algo hecho pero por ejemplo cuando hacemos las reservas no se de que forma controlar que no me reserven cuando ya no tengo lugar! Si me restoran tiene capacidad para 30 personas, que cuando hagan reservas no dejen reservar para más que esa cantidad.
Y en el Delivery, tenemos el menu armado, con un checkbox al lado de cada plato y un select para que elijan la cantidad de platos a pedir, los costos y nombres de los platos son type: text, pero como hago para sumar los costos de acuerdo a la cantidad de platos elegidos? y se los tengo que mostrar...

HELP HELP HELP!
 
Amiga sol

Amiga sol!, este proyecto es incluso más complicado de lo que imaginaba.
Espero que los compañeros Betas puedan ayudarte!.
Suerte en tu trabajo!^^
 
Última edición:
Seria bueno que pusieras parte del codigo en lo que tienes duda, para de ahi la comunidad se pueda basar y darte una solucion mas rapida
 
Yo ya tengo un sistema hecho y funcionando que hace funciones muy parecidas ^^
 
Les paso algo de código que tenemos hecho, funciona bien, e inserta los datos en la base de datos correctamente...pero tenemos que controlar que si tenemos 5 mesas para 4 personas cada mesa, no se reserve lugar para mas de 20 personas... me explico?

Reservas.php

<?php session_start(); ?>
[CODIGO HTML]
<?php

if(!isset($_POST['Submit'])) {
$noenviado=true; }
else {
$hayerror=false;
if(empty($_POST['fecha']))
{ $error1="¡Debe ingresar la fecha de la reserva - formato: AAAA-MM-DD!";
$hayerror=true;
}
if(empty($_POST['hora']))
{ $error2="¡Debe ingresar la hora de su reserva!";
$hayerror=true;
}
if(empty($_POST['cantidad']))
{ $error3="¡Debe ingresar la cantidad de personas para las que quiere reservar!";
$hayerror=true;
}
if(empty($_POST['nombre']))
{ $error4="¡Debe ingresar su nombre completo!";
$hayerror=true;
}
if(empty($_POST['telefono']))
{ $error5="¡Debe ingresar un telefono de contacto!";
$hayerror=true;
}
}

if($noenviado || $hayerror){
?>
<H3>Ingrese su reserva:</H3>
<form method="post" action="reservas.php">
<p> Fecha: <br><input name="fecha" type="text" value="<?php echo $_POST['fecha']; ?>"> Formato [aaaa-mm-dd]
<?php echo "<font color=red size=2>$error1</font>";?>
<p>Hora: <br><input type="text" name="hora" value="<?php echo $_POST['hora']; ?>">
<?php echo "<font color=red size=2>$error2</font>";?>
<p>Cantidad de personas: <br><input type="text" name="cantidad" value="<?php echo $_POST['cantidad']; ?>">
<?php echo "<font color=red size=2>$error3</font>";?>
<p> Nombre y Apellido: <br><input name="nombre" type="text" value="<?php echo $_POST['nombre']; ?>">
<?php echo "<font color=red size=2>$error4</font>";?>
<p>Telefono: <br><input type="text" name="telefono" value="<?php echo $_POST['telefono']; ?>">
<?php echo "<font color=red size=2>$error5</font>";?>
<p><input type="submit" name="Submit" value="Reservar">
</form>

<?php } else {
extract ($_POST);
?>
<p>Fecha: <?php echo $fecha ?> </br>
<p>Hora: <?php echo $hora ?> </br>
<p>Cantidad de Personas: <?php echo $cantidad ?> </br>
<p>Nombre: <?php echo $nombre ?> </br>
<p>Telefono: <?php echo $telefono ?> </br>

<H3>Confirme su reserva:</H3>
<form method="post" action="confirmareserva.php">
<?php $_SESSION['fecha']=$fecha;
$_SESSION['hora']=$hora;
$_SESSION['cantidad']=$cantidad;
$_SESSION['nombre']=$nombre;
$_SESSION['telefono']=$telefono;
?>
<p><input type="submit" name="Submit2" value="Confirmar">
</form>

<?php } ?>

[CODIGO HTML]


y la pagina CONFIRMARESERVA.PHP

<?php session_start(); ?>
[CODIGO HTML]
<?php
include "conexion.php";
extract($_REQUEST);
extract($_SESSION);
?>
<H3>RESERVA CONFIRMADA </H3>
<p>Nombre: <?php echo $nombre; ?> </br>
<p>Tel&eacute;fono: <?php echo $telefono; ?> </br>
<p>Fecha: <?php echo $fecha; ?> </br>
<p>Hora: <?php echo $hora; ?> </br>
<p>Cantidad de Personas: <?php echo $cantidad; ?> </br>
<?php
$sql="INSERT INTO reservas (R_id,fecha,hora,cantidad,nombre,telefono) VALUES ('".$id."','".$fecha."','".$hora."','".$cantidad."','".$nombre."','".$telefono."')";
mysql_query($sql,$conexion);
include "closedb.php"; ?>
[CODIGO HTML]


Por ahi dijeron que tienen un sistema con funciones similares? me brindás una mano ?? :smile1::smile1:
 
Última edición:
Hola
El problema que presentas es básicamente un problema de análisis... No veo problema en controlar el número máximo de gente/reservas/..., simplemente tienes que llevar un contador, se puede hacer de muchas formas. Veo además que usas el php en modo clásico, yo eso lo resolvería con una aproximación OOP, es más fácil. Ej. para llevar la cuenta de reservas podrías llevar un array de objetos Reserva, cada objeto con sus carácterísticas (probablemente sean más objetos) que a su vez podrían cambiar... yo lo veo algo como muy intrínseco y no sé si te valdrá el que alguien lo tenga resuelto.

si te ves muy asfixiado intenta buscar en google algún código qeu ya esté hecho y que resuelva el 90% de tus requerimientos que, por lo que se ve, no tiene requerimientos muy raros y, por lo tanto, más de uno lo habrá resuelto antes.

saludos
 
Este tipo de sistemas hay muchos en la red solo es cuestión de buscarlo empieza buscando con Enlace eliminado seguro que encuentras lo que buscas pero lo malo de estos sistemas programados por personas particulares es la seguridad son muy fáciles de hackear, un sistema como este debe ser programado mínimo por 10 desarrolladores senior en PHP/MySQL.
 
Si tuviera tantisimo tiempo facil lo haria, pero es bien complejo y pesado !!!! :vroam:
 
GRacias a los que respondieron, les cuento que lo logramos hacer! jeje quemandonos un poco la cabeza hicimos todo el sistema de gestión del restaurante y promocionamos (sacamos mas de 8) en la materia! asi que nada, feliz! jeje besos
 

Temas similares

Atrás
Arriba