前后端分离,通过PHP写JSON接口,前端AJAX调用接口来完成交互。小白刚学习PHP可以学习下,大神直接略过~
一.数据库的连接
<?php
$durl = "localhost"; // 数据库地址
$duser = "root"; // 数据库用户名
$dpw = "root"; // 数据库密码
$dname = "db_lihuyong"; // 数据库名称
$link = mysql_connect($durl,$duser,$dpw);
if(!$con){
die("连接数据库失败:".mysql_error());
}
mysql_query("set names 'utf8'");
mysql_select_db($dname,$con);
?>
数据库连接可以单独写成一个文件conn.php,同时还可以写一个关闭数据库的文件:conn_close.php,每次需要用到的时候调用即可。
<?php
mysql_close($link); // 关闭数据库
?>
二.查询数据、以及对结果进行分页
<?php
// 连接数据库
include 'conn.php';
//当前页参数
$page = intval($_GET['page']);
// 执行SQL得到结果集
$sql = "SELECT xid FROM x_list";
$result = mysql_query($sql);
// 输出结果
$total = mysql_num_rows($result); // 总记录数
$pageSize = 10; // 每页显示数
$totalPage = ceil($total/$pageSize); // 总页数
$startPage = ($page-1) * $pageSize; // 开始记录
$arr['code'] = 404; // 没有数据返回"404"
if($page>0 && $page<=$totalPage){
// 构造数组
$arr['code'] = 200; // 有数据返回"200"
$arr['totalNum'] = $total;
$arr['pageSize'] = $pageSize;
$arr['totalPage'] = $totalPage;
// 查询分页数据
$query = mysql_query("SELECT * FROM x_list ORDER BY xid desc LIMIT $startPage,$pageSize");
while($row=mysql_fetch_array($query)){
$arr['list'][] = array(
'id' => $row['xid'],
'date' => $row['xdate'],
'title' => $row['xtitle'],
'content' => $row['xcontentbox']
);
}
}
// 输出JSON
echo json_encode($arr);
// 关闭数据库
include 'conn_close.php';
?>
三.数据的新增、更新
<?php
// 连接数据库
include 'conn.php';
//当前参数
$id = intval($_POST['lid']);
$title = $_POST['title'];
$content = $_POST['content'];
if($id == 0){ // 如果ID为0则为新增操作、这个要在前端提交的时候处理好。
$sql = "INSERT INTO t_list (xtitle,xcontentbox) values ('$title','$content')";
mysql_query($sql)
}else{
// 更新操作
$sqls = "UPDATE t_list SET xtitle='$title',xcontentbox='$content' WHERE xid='$id'";
mysql_query($sqls);//执行SQL
}
// 关闭数据库
include 'conn_close.php';
?>
四.数据库删除
<?php
// 连接数据库
include 'conn.php';
$id = $_POST['id'];
$sql = "DELETE from t_list WHERE xid='$id'";
mysql_query($sql);
$mark = mysql_affected_rows(); //返回影响行数
if($mark>0){ // 给出返回码,前端进行操作
echo "200"; // 删除成功
}else{
echo "10001"; // 删除失败
}
// 关闭数据库
include 'conn_close.php';
?>
每次对数据库操作之后可以增加一个返回码给前端来判断是否成功,可以参考第四步数据库的删除操作,这里就不详细描述了。