批改状态:合格
老师批语:
namespace one\test\controller {class DEMO{public static function test(){return "one.demo.test";}}// echo DEMO::test();}namespace one\test\model {class DEMO{public static function test(){return "TWO.demo.test";}}//直接引用类//类有重名可以用as给类更名// use \one\test\controller\DEMO as DE;// echo DE::test();//引用命名空间后再引用类,并给controller更名use \one\test\controller as ctl;echo ctl\DEMO::test();}
spl_autoload_register(function($class){// DIRECTORY_SEPARATOR系统分隔符常量,把所有的\都转为系统分隔符$file = str_replace('\\',DIRECTORY_SEPARATOR,$class).'.php';// 判断$file是否是正常的文件,是否存在该文件,都为真返回引入,为假抛错if(is_file($file)&&file_exists($file)){require $file;}else{throw new \Exception("文件名不合法或文件不存在");}});
mkdir(目录名称,权限(默认 0777,即允许全局访问),true);chmod(目录名称,权限);move_uploaded_file(上传文件的临时路径,新目录及文件名,)in_array(要搜索的值,被搜索的数组,是否全等(true 全等 ,false 非全等,默认为 false))可以用来判断文件类型是否在我们规定的类型内数据库分页处理,主要需要捋清楚每页要分的条数、每页显示条数的起始位置计算以及最后有多少页数据,判断起始页跟结束页,对上一页、下一页进行处理
<?php//判断是否连接数据库try{$pdo = new PDO('mysql:host=localhost;dbname=test','root','z1071930401');}catch(PDOException $e){echo '数据库连接失败' . $e->getMessage();}// 给p赋初始默认值if(empty($_GET['p'])){$p = 1;}else{$p = $_GET['p'];}// 设置每页条数$count = 5;//数据库的数据下标类似于数组,都是从0开始,因此第一页数据就是0-4,第二页就是0-5,按照页数与条数的乘积计算,每页显示的条数应该为($p-1)*$count$sql = 'SELECT * FROM `user` LIMIT ' . ($p-1)*$count . ',' . $count;$pre = $pdo -> prepare($sql);$exe = $pre -> execute();// 将查询出来的结果集赋值给$data$data = $pre -> fetchAll();//使用count()方法查询总共有多少条数据$pre = $pdo -> prepare('SELECT count(*) as total FROM `user`');$exe = $pre -> execute();// 将查询出来的条数赋值给total$total = $pre -> fetch()['total'];// 使用ceil()方法向上四舍入为最接近的整数,获取页数,扩展:floor()方法向下四舍入为最接近的整数,round()对浮点数进行四舍五入$page = ceil($total/$count);?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户分页</title><style>.pagination {display: inline-block;padding-left: 0;margin: 20px 0;border-radius: 4px;}.pagination > li {display: inline;}.pagination > li > a,.pagination > li > span {position: relative;float: left;padding: 6px 12px;margin-left: -1px;line-height: 1.42857143;color: #337ab7;text-decoration: none;background-color: #fff;border: 1px solid #ddd;}.pagination > li:first-child > a,.pagination > li:first-child > span {margin-left: 0;border-top-left-radius: 4px;border-bottom-left-radius: 4px;}.pagination > li:last-child > a,.pagination > li:last-child > span {border-top-right-radius: 4px;border-bottom-right-radius: 4px;}.pagination > li > a:hover,.pagination > li > span:hover,.pagination > li > a:focus,.pagination > li > span:focus {z-index: 2;color: #23527c;background-color: #eee;border-color: #ddd;}.pagination > .active > a,.pagination > .active > span,.pagination > .active > a:hover,.pagination > .active > span:hover,.pagination > .active > a:focus,.pagination > .active > span:focus {z-index: 3;color: #fff;cursor: default;background-color: #337ab7;border-color: #337ab7;}.pagination > .disabled > span,.pagination > .disabled > span:hover,.pagination > .disabled > span:focus,.pagination > .disabled > a,.pagination > .disabled > a:hover,.pagination > .disabled > a:focus {color: #777;cursor: not-allowed;background-color: #fff;border-color: #ddd;}.pagination > form > input,button{position: relative;float: left;padding: 6px 12px;margin-left: -1px;line-height: 1.42857143;color: #337ab7;text-decoration: none;background-color: #fff;border: 1px solid #ddd;}.pagination > form > button:hover{z-index: 2;cursor:pointer;color: #23527c;background-color: #eee;border-color: #ddd;}</style></head><body><a href="add.php">添加</a><table border="1"><thead><tr><th width="50">ID</th><th width="100">账户</th><th width="100">姓名</th><th width="100">年龄</th><th width="100">手机号</th><th width="200">入职时间</th><th width="200">登录时间</th><th width="100">状态</th></tr></thead><tbody><?php// 循环遍历显示的数据内容foreach($data as $v){?><tr><td><?=$v['id'] ?></td><td><?=$v['account'] ?></td><td><?=$v['name'] ?></td><td><?=$v['age'].'岁' ?></td><td><?=$v['phone'] ?></td><td><?=date('Y-m-d',$v['add_time']) ?></td><td><?=date('Y-m-d H:i:s',$v['last_time']) ?></td><!-- <td><?=$v['status']==1?'开启':'关闭' ?></td> --><td><?phpif($v['status'] == 1){echo '<span style="color:green;">开启</span>';}else{echo '<span style="color:red;">关闭</span>';}?></td></tr><?php}?></tbody></table><ul class="pagination"><?php// 当前页面为1,就代表没有上一页,设置上一页无法点击$html = '';if($p == 1){$html .= '<li class="disabled">';$html .= ' <a>上一页</a>';$html .= '</li>';}else{$html .= '<li>';$html .= ' <a href="list.php?p='.($p-1).'">上一页</a>';$html .= '</li>';}// 循环遍历每页数据链接for($i=1;$i<=$page;$i++){$html .= '<li ';// 判断点击的是哪一页给哪一页添加active类if($i == $p){$html .= 'class="active"';}$html .= '>';$html .= ' <a href="list.php?p='.$i.'">'.$i.'</a>';$html .= '</li>';}//判断如果点击的页码为最后一页,就代表没有下一页,设置下一页无法点击if($p == $page){$html .= '<li class="disabled">';$html .= ' <a>下一页</a>';$html .= '</li>';}else{$html .= '<li>';$html .= ' <a href="list.php?p='.($p+1).'">下一页</a>';$html .= '</li>';}echo $html;?><!-- 配置输入框加跳转页 --><form action="list.php" method="get" onclick="false"><input type="text" name="p"><button onclick="window.location.href=<?php echo '\'list.php?p='.$_GET['p'].'\''; ?>;">跳转</button></form></ul></body></html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号