Jadual Kandungan
菜单
Rumah pembangunan bahagian belakang tutorial php Cara menggunakan PHP untuk membangunkan fungsi pesanan dalam talian yang mudah

Cara menggunakan PHP untuk membangunkan fungsi pesanan dalam talian yang mudah

Sep 21, 2023 am 11:21 AM
Fungsi pesanan pembangunan PHP

Cara menggunakan PHP untuk membangunkan fungsi pesanan dalam talian yang mudah

Cara menggunakan PHP untuk membangunkan fungsi pesanan dalam talian yang mudah

Dengan populariti Internet, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Dengan kuasa dan fleksibiliti bahasa PHP, adalah sangat praktikal dan menarik untuk membangunkan fungsi pesanan dalam talian yang mudah. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan sistem pesanan dalam talian yang mudah dan menyediakan contoh kod khusus.

1. Reka bentuk pangkalan data

Sebelum kita mula menulis kod, kita perlu mereka pangkalan data untuk menyimpan maklumat menu dan pesanan pelanggan. Kita boleh menggunakan pangkalan data MySQL dan mencipta dua jadual untuk menyimpan maklumat ini. Mula-mula, kami mencipta jadual menu (menu), yang mengandungi maklumat seperti nama hidangan, harga dan penerangan. Kedua, buat jadual pesanan (pesanan), termasuk nombor pesanan, nama hidangan, kuantiti dan jumlah harga dan maklumat lain. Struktur jadual

menu adalah seperti berikut:

CREATE TABLE menu (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  price DECIMAL(10,2) NOT NULL,
  description TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Salin selepas log masuk

Struktur jadual pesanan adalah seperti berikut:

CREATE TABLE orders (
  id INT(11) AUTO_INCREMENT PRIMARY KEY,
  order_number VARCHAR(50) NOT NULL,
  menu_id INT(11) NOT NULL,
  quantity INT(11) NOT NULL,
  total_price DECIMAL(10,2) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (menu_id) REFERENCES menu(id)
);
Salin selepas log masuk

2. Buat antara muka web

Seterusnya, kami mencipta antara muka web yang mudah untuk memaparkan menu dan proses pesanan pelanggan. Mula-mula, buat fail index.php dan tambah kod berikut dalam fail:

<!DOCTYPE html>
<html>
<head>
    <title>在线点餐</title>
</head>
<body>
    <h1 id="菜单">菜单</h1>
    
    <?php
        // 连接数据库
        $conn = new mysqli("localhost", "root", "", "restaurant");
        
        // 检查数据库连接是否成功
        if ($conn->connect_error) {
            die("数据库连接失败: " . $conn->connect_error);
        }
        
        // 查询菜单
        $sql = "SELECT * FROM menu";
        $result = $conn->query($sql);
        
        // 显示菜单
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                echo "<p>" . $row["name"] . ": $" . $row["price"] . "</p>";
                echo "<p>" . $row["description"] . "</p>";
                echo "<form action='order.php' method='post'>";
                echo "<input type='hidden' name='menu_id' value='" . $row["id"] . "'>";
                echo "<input type='number' name='quantity' min='1' value='1'>";
                echo "<input type='submit' value='加入订单'>";
                echo "</form>";
                echo "<hr>";
            }
        } else {
            echo "暂无菜单";
        }
        
        // 关闭数据库连接
        $conn->close();
    ?>
    
</body>
</html>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data dan menanyakan data menu. Kemudian, paparkan data menu pada halaman web melalui gelung dan berikan setiap item menu butang tambah pesanan. Selepas mengklik butang, ia akan melompat ke fail order.php untuk diproses.

3. Memproses pesanan

Dalam fail order.php, kami memproses penambahan tempahan pelanggan dan mengira jumlah harga. Tambahkan kod berikut dalam fail:

<?php
    // 接收菜单ID和数量
    $menu_id = $_POST["menu_id"];
    $quantity = $_POST["quantity"];
    
    // 连接数据库
    $conn = new mysqli("localhost", "root", "", "restaurant");
    
    // 检查数据库连接是否成功
    if ($conn->connect_error) {
        die("数据库连接失败: " . $conn->connect_error);
    }
    
    // 查询菜单
    $sql = "SELECT * FROM menu WHERE id = $menu_id";
    $result = $conn->query($sql);
    
    // 添加订单
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $order_total = $row["price"] * $quantity;
            
            // 生成订单号
            $order_number = "OD" . time();
            
            // 插入订单数据
            $sql = "INSERT INTO orders (order_number, menu_id, quantity, total_price) VALUES ('$order_number', $menu_id, $quantity, $order_total)";
            
            if ($conn->query($sql) === TRUE) {
                echo "订单添加成功";
            } else {
                echo "订单添加失败: " . $conn->error;
            }
        }
    } else {
        echo "菜单不存在";
    }
    
    // 关闭数据库连接
    $conn->close();
?>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menerima ID menu (menu_id) dan parameter kuantiti (kuantiti) daripada antara muka index.php. Kemudian, sambung ke pangkalan data dan tanya harga menu yang dipilih. Seterusnya, kami mengira jumlah harga pesanan dan menjana nombor pesanan, dan memasukkan data pesanan ke dalam jadual pesanan.

4. Test run

Buka antara muka index.php dalam pelayar, anda boleh melihat senarai menu dan klik butang Tambah Pesanan. Selepas mengklik butang, ia akan melompat ke fail order.php untuk diproses, dan memaparkan mesej yang menunjukkan sama ada pesanan itu berjaya ditambahkan atau gagal.

Ringkasan

Melalui langkah di atas, kami berjaya membangunkan fungsi pesanan dalam talian yang mudah menggunakan PHP. Menggunakan fungsi PHP dan pangkalan data yang berkuasa, kami boleh melaksanakan fungsi pesanan dengan mudah, dan boleh menjalankan pembangunan dan pengembangan sekunder mengikut keperluan. Apabila menulis fungsi sedemikian, kita harus memberi perhatian untuk melindungi keselamatan sambungan pangkalan data dan memproses data input pengguna untuk memastikan kestabilan dan keselamatan sistem.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan fungsi pesanan dalam talian yang mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

URL panjang, sering berantakan dengan kata kunci dan parameter penjejakan, boleh menghalang pelawat. Skrip pemendekan URL menawarkan penyelesaian, mewujudkan pautan ringkas yang sesuai untuk media sosial dan platform lain. Skrip ini sangat berharga untuk laman web individu a

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Ini adalah bahagian kedua dan terakhir siri untuk membina aplikasi React dengan back-end Laravel. Di bahagian pertama siri ini, kami mencipta API RESTful menggunakan Laravel untuk aplikasi penyenaraian produk asas. Dalam tutorial ini, kita akan menjadi dev

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Pengumuman Penyiasatan Situasi PHP 2025 Pengumuman Penyiasatan Situasi PHP 2025 Mar 03, 2025 pm 04:20 PM

Tinjauan Landskap PHP 2025 menyiasat trend pembangunan PHP semasa. Ia meneroka penggunaan rangka kerja, kaedah penempatan, dan cabaran, yang bertujuan memberi gambaran kepada pemaju dan perniagaan. Tinjauan ini menjangkakan pertumbuhan dalam PHP Versio moden

Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

Dalam artikel ini, kami akan meneroka sistem pemberitahuan dalam rangka kerja web Laravel. Sistem pemberitahuan di Laravel membolehkan anda menghantar pemberitahuan kepada pengguna melalui saluran yang berbeza. Hari ini, kami akan membincangkan bagaimana anda boleh menghantar pemberitahuan ov

See all articles