PHP打造在线艺术品展示平台

admin 2025-01-13 1002 0

在这个数字化时代,艺术品的展示与销售也逐渐从线下转向线上。利用PHP,我们可以轻松搭建一个功能齐全的在线艺术品展示平台,让艺术家与收藏家无缝连接。本文将带你一步步实现这一创意。

PHP打造在线艺术品展示平台

项目准备

首先,确保你已经安装了PHP环境以及MySQL数据库。推荐使用XAMPP或WAMP这样的集成环境,省去配置烦恼。

1. 创建数据库

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

CREATE TABLE artists (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    bio TEXT
);

CREATE TABLE artworks (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100),
    description TEXT,
    image_path VARCHAR(255),
    artist_id INT,
    FOREIGN KEY (artist_id) REFERENCES artists(id)
);

2. 项目结构

在本地创建一个项目文件夹,结构如下:

art-gallery/
├── index.php
├── admin/
│   ├── add_artwork.php
│   ├── add_artist.php
│   └── dashboard.php
├── assets/
│   ├── images/
│   └── styles.css
└── includes/
    ├── db.php
    └── header.php

核心功能实现

1. 数据库连接

includes/db.php中配置数据库连接:

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

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

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

2. 首页展示

index.php中展示艺术品:

<?php
include 'includes/db.php';
include 'includes/header.php';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Art Gallery</title>
    <link rel="stylesheet" href="assets/styles.css">
</head>
<body>
    <h1>Welcome to Our Art Gallery</h1>
    <div class="artworks">
        <?php
        $sql = "SELECT artworks.*, artists.name FROM artworks JOIN artists ON artworks.artist_id = artists.id";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo "<div class='artwork'>";
                echo "<img src='" . $row["image_path"] . "' alt='" . $row["title"] . "'>";
                echo "<h2>" . $row["title"] . "</h2>";
                echo "<p>" . $row["description"] . "</p>";
                echo "<p>By: " . $row["name"] . "</p>";
                echo "</div>";
            }
        } else {
            echo "No artworks available.";
        }
        ?>
    </div>
</body>
</html>

3. 后台管理

admin/dashboard.php中添加艺术家和艺术品的表单:

<?php
include '../includes/db.php';
include '../includes/header.php';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Admin Dashboard</title>
    <link rel="stylesheet" href="../assets/styles.css">
</head>
<body>
    <h1>Admin Dashboard</h1>
    <a href="add_artist.php">Add Artist</a>
    <a href="add_artwork.php">Add Artwork</a>
</body>
</html>

4. 添加艺术家

admin/add_artist.php中处理艺术家添加:


<?php
include '../includes/db.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $bio = $_POST["bio"];

    $sql = "INSERT INTO artists (name, bio) VALUES ('$name', '$bio')";
    if ($conn->query($sql) === TRUE) {
        echo "New artist added successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Add Artist</title>
    <link rel="stylesheet" href="../assets/styles.css">
</head>
<body>
    <h1>Add Artist</h1>
    <form method="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" required>
        <label for

评论(0)