在这个数字化时代,艺术品的展示与销售也逐渐从线下转向线上。利用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)