Maison >développement back-end >tutoriel php >Comment utiliser PHP pour développer la fonction de réservation et de commande du système de commande de repas ?

Comment utiliser PHP pour développer la fonction de réservation et de commande du système de commande de repas ?

WBOY
WBOYoriginal
2023-11-01 12:48:14960parcourir

Comment utiliser PHP pour développer la fonction de réservation et de commande du système de commande de repas ?

Avec le développement du secteur de la restauration, de plus en plus de restaurants ont commencé à fournir des services de réservation et de commande, ce qui offre non seulement aux clients une expérience culinaire plus pratique, mais offre également aux restaurants une méthode de gestion plus ordonnée et efficace. Cet article explique comment utiliser PHP pour développer la fonction de commande de réservation du système de commande de nourriture.

1. La structure de base de la fonction de réservation et de commande

La structure de base de la fonction de réservation et de commande comprend deux parties principales : le système de réservation et le système de commande. Le système de réservation est principalement responsable de la gestion des informations de réservation des clients, y compris les réservations de tables, la gestion des informations client, etc., tandis que le système de commande est principalement responsable des opérations de commande des clients, de la gestion des plats, etc. ;

2. Implémentation du système de réservation

  1. Conception de base de données

Créer des tables de base de données : réservation, client, table

① table de réservation

id : clé primaire auto-croissante

customer_id : clé étrangère, associée à l'identifiant champ de la table client

table_id : clé étrangère, le champ id de la table associée table

reservation_time : heure de réservation

status : statut de la réservation, 0 signifie non utilisé, 1 signifie utilisé

② table client

id : clé primaire à incrémentation automatique

nom : nom du client

téléphone : numéro de téléphone mobile du client

e-mail : adresse e-mail du client

③ table table

id : clé primaire auto-croissante

table_number : numéro de table

table_name : nom de la table

capacité : capacité de la table

  1. réservation Implémentation de fonctions

Dans le système de réservation, des fonctions telles que la réservation de tables et l'interrogation de l'état des tables doivent être implémentées.

(1) Réservation d'une table

Nous prenons ici comme exemple une nouvelle réservation Avant d'effectuer une réservation, vous devez d'abord déterminer si la table a été réservée, déterminer si la réservation est réussie et renvoyer les informations correspondantes.

$conn = mysqli_connect("localhost", "root", "root", "test_db");
if (!$conn) {
die("Échec de la connexion : " . mysqli_connect_error()) ;
}

$reservation_time = $_POST['reservation_time'];
$customer_name = $_POST['customer_name'];
$customer_phone = $_POST['customer_phone'];
$table_id = $_POST['table_id' ];

$sql_check = "SELECT * FROM réservation WHERE table_id='$table_id' AND reservation_time='$reservation_time'";
$result_check = mysqli_query($conn, $sql_check);

if (mysqli_num_rows($result_check) > 0) {
echo 'La table a été réservée à ce moment, veuillez en choisir une autre. ';
} else {
$sql_customer = "INSERT INTO customer (name, phone) VALUES ("$customer_name', '$customer_phone')";
mysqli_query($conn, $sql_customer);
$customer_id = mysqli_insert_id($ conn);
$sql_reservation = "INSÉRER DANS la réservation (customer_id, table_id, booking_time, status) VALUES ($'$customer_id', '$table_id', '$reservation_time', 0)";
mysqli_query($conn, $sql_reservation) ;
echo 'Réservation réussie. ';
}

mysqli_close($conn);
?>

(2) Interrogation de l'état de la table

L'interrogation de l'état de la table peut être réalisée en interrogeant le champ d'état dans la table de réservation, 0 signifie non utilisé, 1 moyens utilisés.

$conn = mysqli_connect("localhost", "root", "root", "test_db");
if (!$conn) {
die("Échec de la connexion : " . mysqli_connect_error()) ;
}

$table_id = $_POST['table_id'];
$reservation_time = $_POST['reservation_time'];

$sql_check = "SELECT * FROM réservation WHERE table_id='$table_id' AND reservation_time='$ booking_time'";
$result_check = mysqli_query($conn, $sql_check);

if (mysqli_num_rows($result_check) > 0) {
$row = mysqli_fetch_assoc($result_check);
$status = $row['status '];
if ($status == 0) {

echo '该餐桌未被预约。';

} else {

echo '该餐桌已被预约。';

}
} else {
echo 'La table n'a pas été réservée. ';
}

mysqli_close($conn);
?>

3. Mise en œuvre du système de commande

Dans le système de commande, des fonctions telles que la gestion des plats, la gestion des commandes et le paiement doivent être implémentées.

  1. Conception de base de données

Créer des tables de base de données : plat, commande

① table de plat

id : clé primaire auto-croissante

dish_name : nom du plat

prix : prix du plat

description : description du plat

image : Dish Picture

② order table

id : clé primaire auto-croissante

customer_id : clé étrangère, associée au champ id de la table client

table_id : clé étrangère, associée au champ id de la table table

dish_info : détails de la commande

status : statut de la commande, 0 signifie incomplet, 1 signifie terminé

order_time : heure de la commande

total_price : prix total de la commande

  1. Gestion des plats

La gestion des plats comprend des opérations telles que l'ajout, la modification, et supprimer des plats.

(1) Plats nouvellement ajoutés

Voici les nouveaux plats à titre d'exemple.

$conn = mysqli_connect("localhost", "root", "root", "test_db");
if (!$conn) {
die("Échec de la connexion : " . mysqli_connect_error()) ;
}

$dish_name = $_POST['dish_name'];
$price = $_POST['price'];
$description = $_POST['description'];
$image = $_POST['image' ];

$sql = "INSERT INTO plat (nom_plat, prix, description, image) VALEURS ('$nom_plat', $prix, '$description', '$image')";

if (mysqli_query($conn, $sql)) {
echo "Plat ajouté avec succès.";
} else {
echo "Erreur : " . ?>

(2) Modification des plats


Voici un exemple de modification du prix d'un plat.

$conn = mysqli_connect("localhost", "root", "root", "test_db");

if (!$conn) {

die("Échec de la connexion : " . mysqli_connect_error()) ;

}

$id = $_POST['id'];
$price = $_POST['price'];

$sql = "UPDATE plat SET price=$price WHERE id=$id";


if (mysqli_query($conn, $sql)) {

echo "Plateau modifié avec succès.";

} else {

echo "Erreur : " . >


(3) Suppression de plats

Voici un exemple de suppression de plats.

$conn = mysqli_connect("localhost", "root", "root", "test_db");
if (!$conn) { die("Échec de la connexion : " . mysqli_connect_error()) ;

}

$id = $_POST['id'];

$sql = "DELETE FROM Dish WHERE id=$id";

if (mysqli_query($conn, $sql)) {
echo "dish Suppression réussie. ";
} else {

echo "Error: " . mysqli_error($conn);

}

mysqli_close($conn);

?>



Gestion des commandes

La gestion des commandes inclut l'ajout de commandes, modification, suppression et autres opérations.


(1) Nouvelle commande

    Voici un exemple de nouvelle commande.
  1. $conn = mysqli_connect("localhost", "root", "root", "test_db");

    if (!$conn) {

    die("Échec de la connexion : " . mysqli_connect_error()) ;

    }

    $table_id = $_POST['table_id'];

    $customer_id = $_POST['customer_id'];

    $dish_info = $_POST['dish_info'];
    $total_price = $_POST['total_price' ];

    $sql = "INSERT INTO order (customer_id, table_id, Dish_info, status, order_time, total_price) VALEURS ('$customer_id', '$table_id', '$dish_info', 0, now(), $total_price)";

    if (mysqli_query($conn, $sql)) {

    echo "La commande a été ajoutée avec succès ";
    } else {
    echo "Erreur : " . mysqli_error($conn) ;
    }

    mysqli_close($conn);order (customer_id, table_id, dish_info, status, order_time, total_price) VALUES ('$customer_id', '$table_id', '$dish_info', 0, now(), $total_price)";

    if (mysqli_query($conn, $sql)) {
    echo "订单添加成功。";
    } else {
    echo "Error: " . mysqli_error($conn);
    }

    mysqli_close($conn);
    ?>

    (2)订单修改

    此处以修改订单状态为例。

    $conn = mysqli_connect("localhost", "root", "root", "test_db");
    if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
    }

    $id = $_POST['id'];
    $status = $_POST['status'];

    $sql = "UPDATE order SET status=$status WHERE id=$id";

    if (mysqli_query($conn, $sql)) {
    echo "订单修改成功。";
    } else {
    echo "Error: " . mysqli_error($conn);
    }

    mysqli_close($conn);
    ?>

    (3)订单删除

    此处以删除订单为例。

    $conn = mysqli_connect("localhost", "root", "root", "test_db");
    if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
    }

    $id = $_POST['id'];

    $sql = "DELETE FROM order?>

    (2) Modification de la commande

    Voici un exemple de modification du statut de la commande.

    $conn = mysqli_connect("localhost", "root", "root", "test_db");

    if (!$conn) {
    die("Échec de la connexion : " . mysqli_connect_error()) ;

    }

    $id = $_POST['id'];

    $status = $_POST['status'];

    🎜$sql = "UPDATE order SET status=$status WHERE id =$id";🎜🎜if (mysqli_query($conn, $sql)) {🎜 echo "Commande modifiée avec succès ";🎜} else {🎜 echo "Erreur : " . mysqli_error($conn);🎜}🎜🎜mysqli_close. ($conn);🎜?>🎜🎜(3) Suppression de commande🎜🎜Voici un exemple de suppression de commande. 🎜🎜order WHERE id=$id";🎜🎜if (mysqli_query($conn, $sql )) {🎜 echo "Commande supprimée avec succès.";🎜} else {🎜 echo "Erreur : " 🎜🎜Résumé🎜🎜 La réalisation de la fonction de réservation et de commande nécessite la combinaison du système de réservation et du système de commande. Le système de réservation est principalement responsable de la gestion des informations de réservation du client, tandis que le système de commande est principalement responsable de l'opération de commande du client, de la gestion des plats, etc. . Dans le développement PHP, ces fonctions peuvent être réalisées en concevant la base de données et en utilisant les fonctions PHP pertinentes. Dans le même temps, une attention particulière doit être accordée à la sécurité des données et à l'expérience utilisateur pour rendre la fonction de réservation et de commande plus complète. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn