PHP开发 小型论坛教程之数据库搭建
创建数据库
我们创建一个名为‘mybbs’数据库
代码如下
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
mysqli_set_charset($conn,'utf8'); //设定字符集
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 创建数据库
$sql = "CREATE DATABASE mybbs";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "数据库创建失败: " . mysqli_error($conn);
}
mysqli_close($conn);
?>然后建立我们的论坛版块表‘forums’
这个表中存放的是我们都发布了那些论坛
| 字段名 | id | forum_name | forum_description | subject | last_post_time |
| 字段类型 | INT | varchar | varchar | varchar | datetime |
| 字段长度 | 6 | 50 | 200 | 50 | |
| 字段描述 | id | 论坛的名称 | 论坛的简介 | 论坛的主题 | 论坛的创建时间 |
代码如下
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "mybbs";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset($conn,'utf8'); //设定字符集
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 使用 sql 创建数据表
$sql = "CREATE TABLE forums (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`forum_name` varchar(50) NOT NULL,
`forum_description` varchar(200) NOT NULL,
`subject` varchar(50) NOT NULL,
`last_post_time` datetime NOT NULL
);";
if (mysqli_query($conn, $sql)) {
echo "数据表 forums 创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);
?>创建我们的用户表“member”表中存放我们的用户,没有的话是不允许发布论坛和帖子的,
| 字段名 | id | username | password | log_time | |
| 字段类型 | INT | varchar | varchar | varchar | datetime |
| 字段长度 | 11 | 50 | 50 | 50 | |
| 字段描述 | 用户ID | 注册填写的用户名 | 注册填写的密码 | 注册填写的邮箱 | 注册时间 |
创建代码如下
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "mybbs";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset($conn,'utf8'); //设定字符集
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 使用 sql 创建数据表
$sql = "CREATE TABLE member (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`log_time` datetime NOT NULL
);";
if (mysqli_query($conn, $sql)) {
echo "数据表 member 创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);
?>下面建立我们的帖子表 ‘tiopic’
‘tiopic ’存放的字段
author 发布帖子的作者
title 帖子的标题
content 帖子的内容
last_post_time 帖子发布的时间
reply_author 帖子的回复人
reply 帖子的回复内容
reply_time 回复帖子的时间
代码如下
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "mybbs";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset($conn,'utf8'); //设定字符集
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 使用 sql 创建数据表
$sql = "CREATE TABLE tiopic (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`author` varchar(50) NOT NULL,
`title` varchar(100) NOT NULL,
`content` text NOT NULL,
`last_post_time` datetime NOT NULL,
`reply_author` varchar(50) DEFAULT NULL,
`reply` text,
`reply_time` datetime DEFAULT NULL
);";
if (mysqli_query($conn, $sql)) {
echo "数据表 tiopic 创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
}
mysqli_close($conn);
?>提示:本教程只是演示简单的论坛原理,所以将发布帖子的的内容与回复帖子的内容放在了一起,真正完整的论坛回复需要用到PHP的递归,本教程是没有用递归的,所以回复帖子的时候,新内容会盖掉之前的内容,希望学习者学习完本课程之后做一个更为完善的论坛

Superman
这个怎么做方法方法付
6年前 添加回复 0