PHP的增删改查操作

前后端分离,通过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';
?>

每次对数据库操作之后可以增加一个返回码给前端来判断是否成功,可以参考第四步数据库的删除操作,这里就不详细描述了。

猜你喜欢

发表评论

最新发布