PHP原生混编学生信息列表页面,仅供学习 模糊查询是用ajax实现的本章只介绍php输出的信息; 连接数据库是采用了单独的一个php文件,已在头部进行了引入。 一、列表块
<tbody>
<?php
if(isset($status) && $status == true && $connects){
$page = $_GET['page'];
$rowNumber = $_GET['rowNum'];
$page = !empty($page) && is_numeric($page) ? $page : '1';
$rowNumber = !empty($rowNumber) && is_numeric($rowNumber) ? $rowNumber : '10';
$pageindex = ceil(($page - 1) * $rowNumber);
$sql = 'select * from studentmessage limit ' . $pageindex . ',' . $rowNumber;
$querys = mysqli_query($connects,$sql);
while($querys && $rowshow = mysqli_fetch_assoc($querys)){
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);
$countNum = mysqli_fetch_row($querys);
$pageout = ceil($countNum[0] / $rowNumber);
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>';
}
?>
<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="";跳转实现更换行参数。
|