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>&nbsp;&nbsp;<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="";跳转实现更换行参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值