本文实例讲述了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