垃圾专科生PHP学习笔记一

仅供自已自娱自乐。

大佬们键盘下留情面。谢谢

关于实现一个简单的图书管理系统(php原生+mysql、简单的HTML和CSS)

已实现功能

1.实现借书还书功能

2.实现管理员读者不同角色登录功能

3.图书相关参数的上传修改

未实现的功能

1.到达指定时间前一天,在用户登录后提醒。

2.强行对不还书用户进行锁定以及后续处理

需要建立的表

1.图书表

主键id、书名、存放位置、价格、数量、图片、简介

2.读者表

主键id、用户名、账号、密码、是否允许被借书(由管理员控制)

3.管理员表

主键id、用户名、密码

4.借书表

主键id、书名、数量(可以通过js先判断这本书被该用户借阅数量,如果大于1直接不回传,并警告用户)

需要的页面

html 登录页面、注册页面

php 登录页面、注册页面、选书页面、管理图书页面、借书页面

重点难点 分页如何制作  借书表已借书大于1终止该用户继续借阅此书  session和cookie

1.页面制作

登录页面

form

两个input

一个submit 一个button 两个radio

一个负责登录提交,一个负责注册跳转

submit提交到login.php

login.php

链接数据库

if判断radio选项

进行查询匹配

if分支

登录成功(开启session)

else

登录失败

跳转登录界面

2 注册页面

三个input

一个submit 两个radio

(查重工作未实现 Xajax未学习)

if判断radio

分支决定往用户表还是管理员表写数据

然后跳转登录界面

3 读者管理员界面

php文件

开启session

连接数据库

分页功能:

$page = empty($_GET['page']) ? 1 :$_GET['page'];//设定初始的page为1,其他时候通过get来获取。三目运算符,也可以用if...else形式

//连接数据库

$link = mysqli_connect('localhost','root','root');

if(!$link)

{

exit("No");

}

mysqli_set_charset($link,'utf8');

mysqli_select_db($link,'glbook');

//分页

sql:select count(*)  as count from book;//返回book表总记录数  , 给总记录数起别名count

$res=mysqli_query($link,$sql);//执行语句

$pageres=mysqli_fetch_assoc($res);//得到总记录数为 x

$count = $pageres['count']//取出别名为 count 的值

设置每页显示 $num = 5

求出总页数  $pagecount = ceil($count/$num);//ceil为php向上取整函数,目的是为了最后哪怕只剩一条也要在新的一页显示出来

求出偏移量 $pyl = ($page-1)*$num//当前页减去1,乘以 每页需要显示的条数 就是 limit 里面的第一个参数。(即从$ply+1开始取数据,直到$num(每页需要显示的条数参数2))

sql:select * from book limit  $qyl.','.$num; //通过limit限定每次查询的条数

$obj = mysqli_query($link,$sql);//执行查询

 while打印

while($rows = mysqli_fetch_assoc($obj))//每有一条 打印一行表格,直到while的参数为0   ,assoc可以一行一行往下读

{

code.....

}

$prev = $page -1 ;

$next = $page +1;

还要对$prev和$next做限制,不然会不停的减和加

if($prev<1)

{

$prev = 1;

}

if($next>$pagecount)

{

$next = $pagecount

}

mysqli_close($link);

实现首页,上一页,下一页,尾页的功能//GET方式传输

S 

P 

N 

W 

//轻喷,轻喷。

 

你可能感兴趣的:(项目记录)