项目需求分析:
新闻管理系统
- 管理员登录
- 一般后台是不允许注册的(为了实现功能做一个注册功能);
- 登录成功以后执行增删改查
- 先执行查询,将所有的数据查询出来
- 执行增删改
开始开发:
- 创建项目的数据库:news
- 登录和注册功能首先要有用户表;
登录功能:
前端页面
公共的链接数据库的php文件让其他文件执行加载:
链接数据库函数:$link = mysqli_connect(IP地址,账号,密码);
设置字符集:mysqli_query($link,”sql语句”);
选择数据库:mysqli_select_db($link,”数据库名”);
获取表单数据,执行验证
$obj = mysqli_query($link,”sql语句”);
从结果集中取出一行数据:
mysqli_fetch_assoc($obj) // 从结果集中取得一行作为关联数组返回
如果满足条件返回数组,如果不满足,返回空;
- Php操作数据库
- 链接数据库
$link = Mysqli_connect(“主机号/ip地址”,“账号”,“密码”);
返回的是对象形式的数据
- 选择数据库
$row = Mysqli_select_db($link,”数据库名”)
返回布尔值
- 设置字符集
$obj = Mysqli_qurey($link,”要执行的sql语句”)
执行增删改等数据库操作返回布尔值,,执行查询返回对象
- 登录注册功能
登录功能其实本质:查询的sql(将用户填写的数据和数据库的数据进行对比)——》select * from 表名 where user=$user and pass=$pass;
注册的原理:添加的sql语句(将用户填写的数据添加到数据)->
Insert into 表名 set 字段名=字段值。。。;
- 登录成功执行查询
原理就是查询整个数据表
- 链接数据库
- 执行查询
- 将查询完的对象转化为数组$arr = mysqli_fetch_assoc($obj);返回的数一维数组
返回的只有第一条数据
想要查询出所有要执行循环取出所有行数据
将数据写入表格使用foreach循环
执行增删改操作
- 删除要传对当前的id -》后台执行原理delete from n_news where id = $id;
- 获取将要删除数据的id
- 拼装删除的sql语句
- 执行删除返回布尔值执行判断
链接数据库的函数:$link = mysqli_connect(“主机号”,“账号”,“密码”);
设置字符集:mysqli_query($link,”set names utf8”);
选择数据库:mysqli_select_db($link,”数据库名”);
执行sql的函数:$obj = mysqli_query($link,”sql语句”);
增删改和普通sql执行完后返回:布尔值,查询执行完返回:对象
将对象转化为数组:mysqli_fetch_assoc($obj);执行过程类似于each()函数没执行一次指针向后移动一位
执行添加
- 创建添加的页面:
点击添加到后台执行增加的sql操作
修改:
修改的本质是:update 表名 set 字段名=字段值。。。。Where id=$id;
要执行修改首先要执行一条查询,查询信息就是前台传递来的id
当执行修改时要传id如果不想让id 在地址栏显示可以写一个隐藏域
- 分页
$page = $_GET[‘p’];
$pagesize = 5;
$start = ($page-1)*$pagesize;
原理:select * from 表名 limit $start,$pagesize;
查询数据库里有用多少条数据使用
页码逻辑判断
分页前端部分代码