您的位置:首页 > 编程语言 > PHP开发

SQL实现分页(通过PHP)以及增删改查核心语句

2016-12-06 09:33 441 查看
连接数据库
$dbHost="localhost";
$dbUserName="root";
$dbPWD="123456";
$dbName="mentholatum";
$char_code="utf8";

$conn=new mysqli($dbHost,$dbUserName,$dbPWD,$dbName);

查询:
SELECT * FROM `jiayou`    从jiayou表中找所有数据
SELECT id,password FROM `jiayou`    从jiayou表中找出所有id、password的值
SELECT * FROM jiayou ORDER BY id ASC
查询所有信息并根据id升序排列
SELECT * FROM jiayou ORDER BY id DESC 查询所有信息并根据id降序排列
SELECT * FROM jiayou LIMIT 5,10;
从第五行开始查询表中信息,查询10行(不够时有多少显示多少)
SELECT * FROM jiayou ORDER BY id DESC,password ASC
查询信息,id降序显示,password降序显示

插入(增加)
INSERT INTO jiayou (username,password) VALUES ('admin','123456') 
INSERT INTO jiayou (username,password) VALUES ('admin1','123456'),('admin2','123456'),('admin3','123456'),('admin4','123456')
添加一条数据、添加多条数据

修改
UPDATE jiayou SET username = 'admin1', password ='12345678' WHERE id = 300(将id为300的这条数据的username和password改为设定的值)

删除
DELETE FROM jiayou WHERE id = 300
 (将id为300的这一条数据删除)

分页
这里介绍的分页方法属于真分页,即通过sql-limit语句从后台获取部分数据(先遍历获取数据总条数),而假分页则是一次拿到所有数据,通过javascript在前端显示选择部分数据库内容,相比之下真分页的效率更高,在这里只介绍真分页。

$one=($thispage-1)*$pagesize;
$two=$pagesize;
$conn->query("set names utf8");
$sql="select * from goods limit $one,$two";(从第$one条数据开始,查询$two条)

坑点:真分页使用过程冲无法一次获取总条数和分页数据信息。

解决方法一:两个ajax请求,先获取所有信息拿到条数,再获取分页数据。

解决方法二:一次传输两条数据中间用特殊字符(如^^)分开,在前端页面使用字符串拆分获取到两条信息。

echo $jsonStr . "^^" . $num;//返回两条数据

获取数据并通过split语句截取数据不同部分

var str = ajax.responseText;

var substr_ = str.split("^^")[0];

dataLength = str.split("^^")[1];

以上内容纯手打,代码部分来自我的一个项目希望能帮到您。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: