本文实例讲述了php实现的后台表格分页功能。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
|
<?php //init.php $conn = mysqli_connect( '127.0.0.1' , 'root' , '' , 'xz' ,3306); $sql = "SET NAMES UTF8" ; mysqli_query( $conn , $sql ); $pagecount = 3; ?> |
user.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<?php //用户管理 echo "用户管理<br/>" ; @ $start = $_REQUEST [ 'start' ]; if ( $start === null || $start === " " ){ die ( "start required" ); } require ( "init.php" ); $sql = "SELECT * FROM xz_user LIMIT $start,$pagecount" ; $sql1 = "SELECT uid FROM xz_user" ; $result = mysqli_query( $conn , $sql ); $result1 = mysqli_query( $conn , $sql1 ); if ( $result === false || $result1 === false) { echo "执行失败" ; } else { //$rowcount = mysqli_affected_rows($conn); $arr = mysqli_fetch_all( $result ,1); $rowcount = count ( $arr ); echo "查询到的结果行数:" . $rowcount . "<br/>" ; //if($rowcount > 0){ $arr1 = mysqli_fetch_all( $result1 ,1); $count = count ( $arr1 ); echo "总行数:$count<br/>" ; ?> <table border= "1" > <tr> <td>用户编号</td> <td>用户名</td> <td>密码</td> <td>邮箱</td> <td>电话</td> <td>操作</td> </tr> <?php for ( $i =0; $i < count ( $arr ); $i ++){ $tmp = $arr [ $i ][ 'uid' ]; echo " <tr> <td> ".$arr[$i]['uid']." </td> <td> ".$arr[$i]['uname']." </td> <td> ".$arr[$i]['upwd']." </td> <td> ".$arr[$i]['email']." </td> <td> ".$arr[$i]['phone']." </td> <td><a href= 'delete.php?uid=".$tmp."' >删除</a></td> </tr> "; } ?> </table> <?php } ?> <!-- 传值 AJAX可优化 --> <a href= "user.php?start=0" rel= "external nofollow" >首页</a> <a href= "user.php?start=<?php if($start>=3)echo $start-3; else echo $start; ?>" rel= "external nofollow" >上页</a> <a href= "user.php?start=3" rel= "external nofollow" >2</a> <a href= "user.php?start=6" rel= "external nofollow" >3</a> <a href= "user.php?start=9" rel= "external nofollow" >4</a> <a href= "user.php?start=12" rel= "external nofollow" >5</a> <a href= "user.php?start=15" rel= "external nofollow" >6</a> <a href= "user.php?start=<?php echo $start+3; ?>" rel= "external nofollow" >下页</a> <a href= "user.php?start=<?php if($count%3==1)echo $count-1; elseif($count%3==2) echo $count-2; elseif($count%3==0) echo $count-3; ?>" rel= "external nofollow" >尾页</a> <span>第<?php echo $start / $pagecount +1 ?>页|共<?php $tmp = $count / $pagecount ; $tmp1 =(int)( $count / $pagecount ); if ( $tmp > $tmp1 ) echo $tmp1 +1; else echo $tmp1 ; ?>页</span> |
delete.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php //删除用户 echo "删除用户<br/>" ; @ $uid = $_REQUEST [ 'uid' ]; if ( $uid === null || $uid === " " ){ //这里注意,是|| die ( "uid required" ); } require ( 'init.php' ); $sql = "DELETE FROM xz_user WHERE uid='$uid'" ; $sql1 = "UPDATE xz_user SET uid=uid-1 WHERE uid > '$uid'" ; $result = mysqli_query( $conn , $sql ); if ( $result === false){ echo "执行失败" ; } else { $count = mysqli_affected_rows( $conn ); if ( $count > 0){ echo "用户删除成功" ; $result1 = mysqli_query( $conn , $sql1 ); if ( $result1 === false){ echo "重排序失败" ; } else { echo "重排序成功" ; } if ( $uid % $pagecount == 0) Header( "Location:user.php?start=$uid" ); if ( $uid % $pagecount == 1){ $uid -= 1; Header( "Location:user.php?start=$uid" ); } if ( $uid % $pagecount == 2){ $uid -= 2; Header( "Location:user.php?start=$uid" ); } } else { echo "要删除的用户不存在" ; } } ?> |
注:
(1)用AJAX可以实现传值优化,提升性能,这里没有实现;
(2)下一页那边还没有一些bug,不能到最后一页停止,后续再实现吧。
希望本文所述对大家PHP程序设计有所帮助。
原文链接:http://blog.csdn.net/spflinux/article/details/78305087