当前位置:首页 > PHP

php实现图书

2026-02-28 09:45:35PHP

PHP 实现图书管理系统

数据库设计

创建数据库表存储图书信息,基本字段包括图书ID、书名、作者、ISBN、出版日期、库存数量等。

CREATE TABLE books (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    author VARCHAR(255) NOT NULL,
    isbn VARCHAR(20) UNIQUE,
    publish_date DATE,
    quantity INT DEFAULT 0
);

连接数据库

使用PDO或MySQLi扩展连接MySQL数据库,建议使用PDO以获得更好的安全性和兼容性。

$host = 'localhost';
$dbname = 'library';
$username = 'root';
$password = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Connection failed: " . $e->getMessage());
}

添加图书功能

创建表单收集图书信息,通过PHP处理表单提交并将数据插入数据库。

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $title = $_POST['title'];
    $author = $_POST['author'];
    $isbn = $_POST['isbn'];
    $publish_date = $_POST['publish_date'];
    $quantity = $_POST['quantity'];

    $stmt = $pdo->prepare("INSERT INTO books (title, author, isbn, publish_date, quantity) VALUES (?, ?, ?, ?, ?)");
    $stmt->execute([$title, $author, $isbn, $publish_date, $quantity]);
}

显示图书列表

查询数据库中的所有图书并以表格形式展示。

$stmt = $pdo->query("SELECT * FROM books");
$books = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($books as $book) {
    echo "<tr>
            <td>{$book['title']}</td>
            <td>{$book['author']}</td>
            <td>{$book['isbn']}</td>
            <td>{$book['publish_date']}</td>
            <td>{$book['quantity']}</td>
          </tr>";
}

搜索功能

实现按书名或作者搜索图书的功能。

if (isset($_GET['search'])) {
    $search = '%' . $_GET['search'] . '%';
    $stmt = $pdo->prepare("SELECT * FROM books WHERE title LIKE ? OR author LIKE ?");
    $stmt->execute([$search, $search]);
    $books = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

借阅功能

创建借阅记录表并实现借阅逻辑,减少库存数量。

CREATE TABLE borrow_records (
    id INT AUTO_INCREMENT PRIMARY KEY,
    book_id INT,
    user_name VARCHAR(255),
    borrow_date DATE,
    return_date DATE,
    FOREIGN KEY (book_id) REFERENCES books(id)
);
if (isset($_POST['borrow'])) {
    $book_id = $_POST['book_id'];
    $user_name = $_POST['user_name'];
    $borrow_date = date('Y-m-d');

    $pdo->beginTransaction();
    try {
        $stmt = $pdo->prepare("INSERT INTO borrow_records (book_id, user_name, borrow_date) VALUES (?, ?, ?)");
        $stmt->execute([$book_id, $user_name, $borrow_date]);

        $stmt = $pdo->prepare("UPDATE books SET quantity = quantity - 1 WHERE id = ?");
        $stmt->execute([$book_id]);

        $pdo->commit();
    } catch (Exception $e) {
        $pdo->rollBack();
        echo "Error: " . $e->getMessage();
    }
}

安全性考虑

对所有用户输入进行验证和过滤,使用预处理语句防止SQL注入。

function sanitizeInput($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

用户界面

创建简洁的用户界面,包括导航栏、表单和表格展示区域。

php实现图书

<nav>
    <a href="index.php">图书列表</a>
    <a href="add_book.php">添加图书</a>
    <a href="borrow.php">借阅图书</a>
</nav>

<form action="search.php" method="get">
    <input type="text" name="search" placeholder="搜索书名或作者">
    <button type="submit">搜索</button>
</form>

扩展功能

可根据需要添加更多功能,如图书分类、预约系统、逾期计算、用户管理等。定期备份数据库确保数据安全,使用会话管理实现用户登录系统。

标签: 图书php
分享给朋友:

相关文章

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searchT…

php 实现购物车

php 实现购物车

PHP 实现购物车功能 购物车功能是电子商务网站的核心部分,可以通过 PHP 和 Session 或数据库来实现。以下是两种常见的实现方式: 使用 Session 存储购物车数据 Sessi…

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php实现推送

php实现推送

PHP 实现推送功能的方法 PHP 实现推送功能可以通过多种方式完成,包括 WebSocket、Server-Sent Events (SSE)、长轮询或第三方推送服务。以下是几种常见的方法: 使用…

php实现下载

php实现下载

PHP实现文件下载 使用PHP实现文件下载可以通过设置HTTP头部信息强制浏览器下载文件而非直接打开。以下是几种常见的方法: 方法一:直接输出文件内容 $file_path = 'path/to/…

php实现注册登录

php实现注册登录

PHP 注册功能实现 创建数据库表(以 MySQL 为例) CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, usern…