conn.php 数据库连接
conn.php 记录着留言板与数据库交互时的连接信息,在我们需要连接操作数据库时,使用 PHP require 语法引用该文件即可,而无需在每个页面都重复该段连接数据库的代码。
该文件具体内容如下:
若您将本教程留言板的源代码用于实际的项目,请将上面数据库的相关信息做对应的修改。
config.php 系统配置文件
系统配置文件用于配置一些系统需要的参数,如本例中每页留言显示的数目等:index.php 留言读取显示
index.php 用于留言板留言数据的读取显示。一般留言都会有较多条,因此从数据库中读取并显示留言时需要用到数据分页,如果对数据分页技术还不熟悉,请参阅《PHP 数据分页》。
关键代码片段如下:
读取并显示当前页留言// 引用相关文件
require("./conn.php");
require("./config.php");
// 确定当前页数 $p 参数
$p = $_GET['p']?$_GET['p']:1;
// 数据指针
$offset = ($p-1)*$pagesize;
// 查询当前页显示记录 SQL
$query_sql = "SELECT * FROM guestbook ORDER BY id DESC LIMIT $offset , $pagesize";
$result = mysql_query($query_sql);
// 如果出现错误并退出
if(!$result) exit('查询数据错误:'.mysql_error());
// 循环输出当前页显示数据
while($gb_array = mysql_fetch_array($result)){
echo $gb_array['nickname'],' ';
echo '发表于:',date("Y-m-d H:i", $gb_array['createtime']),'
';
echo '内容:',nl2br($gb_array['content']),'
';
// 回复
if(!empty($gb_array['replytime'])) {
echo '----------------------------
';
echo '管理员回复于:',date("Y-m-d H:i", $gb_array['replytime']),'
';
echo nl2br($gb_array['reply']),'
';
}
echo '
';
}
输出分页格式// 计算留言页数
$count_result = mysql_query("SELECT count(*) FROM guestbook");
$count_array = mysql_fetch_array($count_result);
$pagenum = ceil($count_array['count(*)']/$pagesize);
// 数据显示
echo '共 ',$count_array['count(*)'],' 条留言';
// 页数 >1 显示分页
if ($pagenum > 1) {
for($i=1;$i<=$pagenum;$i++) {
if($i==$p) {
echo ' [',$i,']';
} else {
echo ' ',$i,'';
}
}
}
显示效果 可以在数据库里面手工(利用 phpMyAdmin)写入若干条测试数据以测试显示效果。在保证读取显示无误后,后面设计用户留言入库出现问题时,便可排除是数据读取显示的问题。
运行显示效果如下:
到此已经完成了数据的读取显示,对于将留言板具体的美化细节在此不再展开叙述了,可下载本节教程源代码包中的完善版查看。