关闭

php 实现分页功能

498人阅读 评论(0) 收藏 举报

//function: paging 分页 author:liuxueping date:2007.09.24

//将页面另存为exportAll.php 文件,代码中的action 为export.php文件,是一个导入到excel文件的页面,具体代码实现见下篇文章:php 导入excel文件

<?php
   session_start();
   if($_SESSION["username"]==""){//判断是否是合法的登陆用户
  echo "<script>alert('对不起,您还没有登录!');
        window.top.window.location.href='login.htm';</script>";
  exit;
   }
?>

<html>
    <head>
  <title>export all data of staff</title>
  <meta http-equiv='content-type' content='text/html;charset=gb2312'>
  <!DOCTYPE html PUBLIC '//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  <link href='style.css' rel='stylesheet' type='text/css'>
 </head>
 <body>
  <form name='export_form' action='export.php' method='post'>
  <table  class='main' id='table1' width='2000px' border=1px style='border-collapse: collapse'>

<?php 
    //建立数据库的连接
    $conn=mysql_connect ("127.0.0.1", "root", "831025"); 
 mysql_query("set names 'gbk'");
 mysql_select_db("human");    
 // 获取当前页数
 if( isset($_GET['page']) ){
     $page = intval( $_GET['page'] );
 }
    else{
     $page = 1;
    }
    // 每页数量
    $page_size = 10;
    // 获取总数据量
 $result  = mysql_query("select * from staff_data");
 $amount  = mysql_num_rows($result);
 // 记算总共有多少页
    if( $amount ){
  //如果总数据量小于$PageSize,那么只有一页
     if( $amount < $page_size ){ $page_count = 1; }             
     if( $amount % $page_size ){  //取总数据量除以每页数的余数
   //如果有余数,则页数等于总数据量除以每页数的结果取整再加一
         $page_count = (int)($amount / $page_size) + 1;         
     }
  else{
   //如果没有余数,则页数等于总数据量除以每页数的结果
         $page_count = $amount / $page_size;                    
      }
    }
    else{
     $page_count = 0;
    }
           
    // 获取数据,以二维数组格式返回结果
    if( $amount ){
     $sql = "select * from staff_data order by staff_id asc limit ". ($page-1)*$page_size .", $page_size";
     $result = mysql_query($sql);
  $num=mysql_num_fields($result);
  $rows=mysql_num_rows($result);
  echo " <div class='main'><font color='purple'><b>以下是所有员工的资料档案:</font></div><br />";
  echo ("<tr bgcolor='lavender' height=30px><th>序号</th><th>员工ID</th><th>姓名</th><th>性别</th><th>部门</th><th>职位</th><th>职等</th>");
  echo ("<th>底薪</th><th>公积金</th><th>养老金</th><th>项目绩效金</th><th>入职日期</th><th>离职日期</th>");
  echo ("<th>专长</th><th>语言</th><th>证书</th><th>家庭</th><th>工作经历</th></tr>");  
  $serialNumber=1*($page-1)*10+1;
  while($row = mysql_fetch_row($result)) {  
   echo "<tr height=25px>";
   echo "<td>".$serialNumber."</td>";
   for($i=0;$i<$num;$i++){
    echo "<td>".$row[$i]."</td>";
   }  
   echo "</tr>";
   $serialNumber++;
        }
  echo "</table><br />";
  //用javascript+css实现表格奇偶行背景色交替
  echo '<SCRIPT language="javascript"> 
            for(i=0;i<table1.rows.length;i++) {  
    if(i!=0)
     {(i%2==0)?(table1.rows(i).className="t1"):(table1.rows(i).className="t2"); }        
            } 
            </SCRIPT>';
    }
 else{
     echo "<script>alert('没有查找到您需要的数据!');</script>";
    }
    // 翻页链接的创建
 $page_string = '';
 if( $page == 1 ){
  $page_string .= '首页|上一页|';
 }
    else{
     $page_string .= '<a href=?page=1>首页</a>|<a href=?page='.($page-1).'>上一页</a>|';
    }   
    if( ($page == $page_count) || ($page_count == 0) ){
     $page_string .= '下一页|尾页';
    }
    else{
     $page_string .= '<a href=?page='.($page+1).'>下一页</a>|<a href=?page='.$page_count.'>尾页</a>';
    }
 //显示翻页
 echo "<table class='main' align='center'><tr><td>".$page_string."</td><td>&nbsp;&nbsp;&nbsp;&nbsp".$page."页/".$page_count."页</td></tr></table><br /><br />";
 // 将全部数据导出至Excel文件中
    echo ("<table class='main' width ='100%'><tr align='center'><td ><input type='submit' name='btn_import' value='导出至Excel文件' ></td></tr></table>");
 //关闭数据库连接
    mysql_close($conn); 
 
?>
        </form>
   </body>
</html> 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:98186次
    • 积分:1629
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:22篇
    • 译文:0篇
    • 评论:26条
    文章分类