php增添删改界面,php基础教程之综合练习2

1.2项目的用例图

2596c5ea503748b8328c5a01091f0fe5.png

1.3用户登录

用户登录成功后跳转到商品显示页面

1.3.1设计界面

新建一个login.php页面,用来做用户的登录

5f7786c858ece3da8e50c5db6fa6de1f.png

1.3.2登录业务原理

通过输入的用户名和密码查询到对应的记录,表示登录成功,否则登录失败。SQL语句如下:

select * from `user` where username='aa' and `password`='aa'

1.3.3业务逻辑的实现重点

$mysqli -> connect_error返回连接错误的原因

$res->num_rows:用来显示结果集的记录数

在PHP中用header()头跳转,语法:header('location:URL地址');

代码如下:

ca10931c8db79a96022ce0e8a31152ea.png

1.5管理员管理之添加商品

1.5.1界面设计

在admin文件夹下添加add.php页面,用来实现添加商品的功能,界面设计如下:

f0fd58294c6791c0b74b8ae3ef7c7867.png

1.5.2回顾js的对象

1、HTML对象,就是HTML标签

2、脚本对象

a)String:字符串

b)Math:数学

c)Date:日期

3、浏览器对象

a)Window对象

b)History:历史

i.History.back()  = history.go(-1)

ii.History.forward() = history.go(1)

iii.History.go(数字)

c)location

i.属性:location.href=’地址’

ii.方法:

1.Location.assign(‘地址’)

2.Location.reload(‘地址’)

3.Location.replace(‘地址’);

1.5.3回顾页面跳转的方法

1、HTML跳转

a)标记

2、PHP跳转

a)Header(‘location:url地址’);

3、Js跳转

a)Location对象属性描述例题

href通过属性跳转,可以返回Location.href=’admin.php’

方法

assign通过方法跳转,可以方法Location.assign(‘admin.php’)

reload可以实现跳转,可以返回。一般用他做刷新Location.relaod(‘admin.php’)

Location.realod()刷新

Replace跳转,不能返回Location.replace(‘admin.php’);

1.5.4Add.php页面的返回功能

17720c8c6f898956a10950e90fbe0b73.png

1.5.5Add.php页面验证表单

回顾用到的知识点:

1、onsubmit:当表单提交的时候

2、οnsubmit=’return false’:终止向服务器提交

function sub(){

var name=document.getElementById('name');

//验证姓名

if(name.value==''){

alert("请输入姓名");

name.focus();

return false;

}

var sex=document.getElementById('sex');

//验证性别

if(sex.value==''){

alert("请输入性别");

sex.focus();

return false;

}

var add=document.getElementById('add');

//验证地址

if(add.value==''){

alert("请输入地址");

add.focus();

return false;

}

var score=document.getElementById('score');

//验证分数

if(score.value==''||isNaN(score.value)){

alert("分数只能为数字");

score.focus();

return false;

}

}

当表单提交的时候,调用验证表单的方法

c38d4c9617285f4c71d13483ac2cbde5.png

1.5.6添加商品的业务逻辑

if (isset($_POST['submit'])) {

//获取提交的数据

$name=$_POST['name'];

$sex=$_POST['sex'];

$add=$_POST['add'];

$score=$_POST['score'];

//连接数据库

$mysql=new mysqli("localhost",'root',123456,'aa',3306);

if ($mysql->connect_errno){

die('connect fail!'.$mysql->connect_error);

}

$mysql->set_charset('utf8');

//拼接一个sql语句

$sql="insert into stu (name,sex,`add`,score)values ('$name','$sex','$add','$score')";

//执行sql语句

if($mysql->query($sql)){

echo "添加成功";

header('location:admin.php');

}else{

echo "添加失败";

}

}

?>

SQL语句分为两类

1、数据查询语句:select   show

2、数据操作语句:insert 、update、delete、drop

只有数据查询语句才有记录集返回

数据查询语句执行

成功返回记录集

失败返回FALSE

数据操作语句

成功返回TRUE

失败返回false

1.6管理员管理之修改商品

1.6.1Get传递和post传递的区别GETPOST

外观上在地址上看到传递的参数和值地址栏上看不到数据

提交数据大小提交少量数据,不同的浏览器最大值不一样,ie是2K提交大量数据,可以通过更改php.ini配置文件来设置post提交数据的最大值spacer.gif

安全性低高

提交原理提交的数据和数据之间在独立的把所有提交的数据变成一个整体一起提交。(将提交的数据变成XML格式提交)

灵活性很灵活,只要有页面的跳转就可以get传递数据。不灵活,必须要表单的参与

ee5fe10a1bfa84d0f44442e08033c7d8.png

1.6.2数据的GET传递

在url后面通过?来传递参数,

1e18c6f81661c87e5c8cd1f67ff56e09.png

获得get提交的数据

26ce3effb0a715890cb37e6b6104465f.png

可以传递多个参数,每个参数之间用&连接

e05470addee0904016e6ec175d6939de.png

Php页面获得值

0b416ae89eaf66aa4b6c1a525499e100.png

Js也可以传递GET提交的数据

1934308a8c20e446e3b45e2a394dabca.png

1.6.3新建修改页面

在admin文件夹中,新建一个modify.php页面,设计页面如下(与添加商品页面一样):

39da21bbefcf73a923f95c60868de93c.png

1.6.4点击admin.php页面的“修改”按钮

点击admin.php页面的“修改”按钮,跳转到modify.php页面,同时要传递一个修改商品的编号。

6ea758cf06d68e93c863784e3bfc0b4d.png

1.6.5在modify.php页面取出需要修改的数据

4e79d437c015f6d3e625eff387341703.png

从数据库取得数据后,依次付给文本框。

279acfd8625ed56f6dcce1f9ba05b3be.png

完整代码如下:

$id=$_GET['id'];

$mysqli=new mysqli('localhost','root',123456,'aa',3306);

if ($mysqli->connect_errno){

die('connect fail!'.$mysqli->connect_error);

}

$mysqli->set_charset('utf8');

if(isset($_POST['submit'])) {

$name=$_POST['name'];

$sex=$_POST['sex'];

$add=$_POST['add'];

$score=$_POST['score'];

$sql="update stu set name='$name',sex='$sex',`add`='$add',score='$score' where id=$id";

if ($mysqli->query($sql)) {

header('location:admin.php');

}else{

echo '修改失败';

exit();

}

}

//去除id对应的商品

$sql="select * from stu where id=$id";

$res=$mysqli->query($sql);

$row=$res->fetch_array();

?>

修改学生
姓名>
性别>
地址>
分数>

1.6.6点击修改,实现修改逻辑

a7c61bc643e682c61d97e967b7bf35bb.png

1.7管理员管理之删除商品

1.7.1点击删除的时候,提示是否要删除

233fe3b2bc6c3fc967b182c6c778f503.png

1.7.2点击删除的时候调用jump()函数

调用jump()函数,传递一个删除的id编号。

e7e1f15ad7a2b6b9fa85fea36fc2df10.png

1.7.3删除业务逻辑

在admin文件夹下新建del.php,用于执行删除业务逻辑。

在del.php页面中,获取需要删除的id号,删除后返回admin.php页面

3e2f65e8e514f19849d45acf1a62b422.png

1.8分页功能

思路:

通过limit语句取出当前页面的数据页码SQL语句

1select * from products limit 0,10

2select * from products limit 10,10

3select * from products limit 20,10

一页放10条记录($pagesize),请写出起始位置($startno)和页码($pageno)关系?

$startno=($pageno-1)*$pagesize;

1.8.1分页的流程

4184894fc6d0a2c628835f17920fac00.png

1.8.2求总记录数

99d70ba7ffd296a45f4b976da3bade81.png

1.8.3总页数

总记录数/页面大小,向上取整。

1135786d8517702156a65e20cf6f1fa0.png

1.8.4循环输出页码

dfb4dc220877041ed0c67e43acf44b68.png

1.8.5获取传递的页面

3ec3fea75b868bf7989841666de77927.png

1.8.6求当前页的起始位置

ce3adf388c9ac208ae972d49184e4b9e.png

1.8.7获取当前页的记录

245face00fdf7754b171104594db48e8.png

1.8.8循环取出内容

1bf1ac3a7b9ab7792016a81d6cb8319e.png

1.8.9作业

点击下面的按钮,进行分页

7ff2ae538d6fa3ae6b6b905605ebad7f.png

核心代码:

1e256974cd10438620af4e3af9975e97.png

获取到当前页后判断一下,页码是否超过范围

d94e00a725c8a39e856b980b2ba34118.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值