PHP在线活动票务预订系统开发指南

admin 2025-01-13 766 0

在数字化时代,线上票务系统已成为各类活动不可或缺的一部分。本文将带你一步步用PHP构建一个功能完善的在线活动票务预订系统,助你轻松管理活动门票。

PHP在线活动票务预订系统开发指南

项目准备

1. 环境搭建

首先,确保你的开发环境已安装以下工具:

  • PHP:推荐使用PHP 7.4及以上版本。
  • MySQL:用于数据存储。
  • Apache/Nginx:Web服务器。

2. 创建数据库

在MySQL中创建一个名为event_ticket的数据库,并添加以下表:

  • events:存储活动信息。
  • tickets:存储门票信息。
  • users:存储用户信息。
CREATE DATABASE event_ticket;
USE event_ticket;

CREATE TABLE events (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    date DATETIME NOT NULL,
    venue VARCHAR(255) NOT NULL
);

CREATE TABLE tickets (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event_id INT NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    quantity INT NOT NULL,
    FOREIGN KEY (event_id) REFERENCES events(id)
);

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL
);

后端开发

1. 连接数据库

创建一个db.php文件,用于连接数据库:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "event_ticket";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

2. 活动管理

events.php中编写代码,实现活动的增删改查:

<?php
include 'db.php';

// 添加活动
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $date = $_POST['date'];
    $venue = $_POST['venue'];
    $sql = "INSERT INTO events (name, date, venue) VALUES ('$name', '$date', '$venue')";
    $conn->query($sql);
}

// 获取活动列表
$sql = "SELECT * FROM events";
$result = $conn->query($sql);
$events = [];
while($row = $result->fetch_assoc()) {
    $events[] = $row;
}

// 删除活动
if (isset($_GET['delete'])) {
    $id = $_GET['delete'];
    $sql = "DELETE FROM events WHERE id=$id";
    $conn->query($sql);
}

$conn->close();
?>

3. 门票管理

tickets.php中编写代码,管理门票信息:

<?php
include 'db.php';

// 添加门票
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $event_id = $_POST['event_id'];
    $price = $_POST['price'];
    $quantity = $_POST['quantity'];
    $sql = "INSERT INTO tickets (event_id, price, quantity) VALUES ('$event_id', '$price', '$quantity')";
    $conn->query($sql);
}

// 获取门票列表
$sql = "SELECT * FROM tickets";
$result = $conn->query($sql);
$tickets = [];
while($row = $result->fetch_assoc()) {
    $tickets[] = $row;
}

$conn->close();
?>

前端开发

1. 活动列表页面

创建events.html,展示活动列表并支持删除操作:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>活动列表</title>
</head>
<body>
    <h1>活动列表</h1>
    <a href="add_event.html">添加活动</a>
    <ul>
        <?php foreach ($events as $event): ?>
            <li>
                <?= $event['name'] ?> - <?= $event['date'] ?> - <?= $event['venue'] ?>
                <a href="?delete=<?= $event['id'] ?>">删除</a>
            </li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

2. 添加活动页面

创建add_event.html,用于添加新活动:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加活动</title>
</head>
<body>
    <h1>添加活动</h1>

评论(0)