PHP原生信息管理例子
Posted 去糖不加冰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP原生信息管理例子相关的知识,希望对你有一定的参考价值。
php原生混编学生信息列表页面,仅供学习
模糊查询是用ajax实现的本章只介绍php输出的信息;
连接数据库是采用了单独的一个php文件,已在头部进行了引入。
一、列表块
<tbody>
<?php
/*
$status是用于判断session状态
$connects是数据库连接
*/
if(isset($status) && $status == true && $connects)
$page = $_GET['page'];//接收页码
$rowNumber = $_GET['rowNum'];//接收行数
$page = !empty($page) && is_numeric($page) ? $page : '1';//判断$page是否有值,没有为默认值
$rowNumber = !empty($rowNumber) && is_numeric($rowNumber) ? $rowNumber : '10';//判断$rowNumber同样的方法
$pageindex = ceil(($page - 1) * $rowNumber);//计算当前页码开始行数
$sql = 'select * from studentmessage limit ' . $pageindex . ',' . $rowNumber;
$querys = mysqli_query($connects,$sql);//执行sql语句
while($querys && $rowshow = mysqli_fetch_assoc($querys))//while循环查询到的数据
echo '<tr class="$linecolor retrieve">
<td class="sorting_1">'. $rowshow['SId'] .'</td>
<td class=" ">' . $rowshow['Sname'] . '</td>
<td class=" ">' . $rowshow['class'] . '</td>
<td class=" ">' . $rowshow['birthday'] . '</td>
<td class=" ">' . ( $rowshow['sex'] == 0 ? '男' : '女' ). '</td>
<td class=" ">' . $rowshow['nation'] . '</td>
<td class=" "><a href="studentedit.php?id='.$rowshow['id'].'" class="btn btn-info btn-xs">编辑</a> <a
href="studentdelete.php?id='.$rowshow['id'].'" class="btn btn-danger btn-xs">删除</a></td>
</tr>';
?>
</tbody>
每次进入页面会获取get参数,根据页码和每页要显示的行数求出每页开始的那一行,然后使用sql语句查询limit分页,循环并将结果输出。
二、左下角记录数
<div class="dataTables_info" id="dataTables-example_info" role="alert" aria-live="polite" aria-relevant="all">显示
<?php
$sql = 'select count(id) from studentmessage';//统计数量
$querys = mysqli_query($connects,$sql);//执行sql语句
$countNum = mysqli_fetch_row($querys);//取出数据
$pageout = ceil($countNum[0] / $rowNumber);//算出尾页页码
/*
计算当前页开始行数到结束行数,
比如每页十行第一页 应输出1-10,
如果是最后一页应输出 1-数据总数
*/
echo ($page * $rowNumber - $rowNumber + ($countNum[0] != 0 ? 1 : 0)) . ' -'
. ($countNum != 0 ? (($countNum[0] % $rowNumber > 0 && $page == $pageout) ? ($countNum[0] % $rowNumber) + ($page * $rowNumber - $rowNumber) : ($page * $rowNumber)): 0);
?> ,总记录数:
<?php
echo $countNum[0];//数据总数
?>
</div>
三、分页块
<ul class="pagination">
<li class="paginate_button previous <?php echo ($page > 1 ? '' :'disabled');?> "aria-controls="dataTables-example" tabindex="0" id="dataTables-example_previous">
<a <?php echo ($page > 1 ? ('href="studentshow.php?page=' . ($page - 1) .'&rowNum=' . $rowNumber .'"') : '')?>>上一页</a></li>
<?php
for($i = 1; $i < $pageout + 1 ; $i++)
echo '<li class="paginate_button '. ($i == $page ? 'active' : '' ).'" aria-controls="dataTables-example" tabindex="0">
<a '. ($i == $page ? '' : 'href="studentshow.php?page='. $i . '&rowNum='. $rowNumber .'"' ).'>'. $i .'</a></li>';
//echo $pageout;
?>
<li class="paginate_button next <?php echo ($page < $pageout ? '' :'disabled');?> " aria-controls="dataTables-example" tabindex="0" id="dataTables-example_next"><a <?php echo ($page < $pageout ? ('href="studentshow.php?page=' . ($page + 1) .'&rowNum=' . $rowNumber .'"') : '') ?>>
下一页</a></li>
</ul>
分页部分比较简单如果当前页不再第一页就给上一页添加跳转(页码-1),下一页刚好相反,中间是每一页页码输出。
总结:
混编是php与html写在同一个文件里提高页面请求效率,通过get方式重新跳转本页php获取参数,展示下一页的页面信息,行数是select通过选择触发onchange事件获取参数并拼接url使用window.location.href="";跳转实现更换行参数。
以上是关于PHP原生信息管理例子的主要内容,如果未能解决你的问题,请参考以下文章