解决方案 »
- bugfree 输入日历下拉框的功能(PHP+js)火狐和opera实现,但IE6
- 最新淘宝 API2.0 接口编写的淘宝客源码下载
- 关于jomsocial教程问题
- 织梦dedecms开源程序安装以后,为什么邮件发送不成功呢?
- php domdocument 问题
- 在线FTP文件管理客户端 - AMFTP-2.0发布
- 高手请进。md5 的问题
- 基于php的telnet程序【PHP页面中调用cmd窗口,并执行telnet命令】
- 找高手修改DZ论坛,价格面议
- 使用的discuz论坛,首页forum.php,访问的时候被指向了其他网站,如何解决啊?
- 这样的网址如何做的重定向 item_detail-db1-beb15c9879259f7c4a367324d78b7b31.jhtml
- 开源SNS软件iwebSNS v0.7发布
class SubPages{private $each_disNums;//每页显示的条目数
private $nums;//总条目数
private $current_page;//当前被选中的页
private $sub_pages;//每次显示的页数
private $pageNums;//总页数
private $page_array = array();//用来构造分页的数组
private $subPage_link;//每个分页的链接
private $subPage_type;//显示分页的类型
/*
__construct是SubPages的构造函数,用来在创建类的时候自动运行.
@$each_disNums 每页显示的条目数
@nums 总条目数
@current_num 当前被选中的页
@sub_pages 每次显示的页数
@subPage_link 每个分页的链接
@subPage_type 显示分页的类型当@subPage_type=1的时候为普通分页模式
example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$this->each_disNums=intval($each_disNums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=1;
}else{
$this->current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link;
$this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($subPage_link);
unset($subPage_type);
}/*
show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
*/
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){
$this->subPageCss2();
}
}
/*
用来给建立分页的数组初始化的函数。
*/
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_Page该函数使用来构造显示的条目
即使:[1][2][3][4][5][6][7][8][9][10]
*/
function construct_num_Page(){
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0;$i<$this->pageNums;$i++){
$current_array[$i]=$i+1;
}
}else{
$current_array=$this->initArray();
if($this->current_page <= 3){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$i+1;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
}
}else{
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$this->current_page-2+$i;
}
}
} return $current_array;
}/*
构造普通模式的分页
共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
*/
function subPageCss1(){
$subPageCss1Str="";
$subPageCss1Str.="共".$this->nums."条记录,";
$subPageCss1Str.="每页显示".$this->each_disNums."条,";
$subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss1Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss1Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss1Str.="[首页] ";
$subPageCss1Str.="[上一页] ";
} if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss1Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss1Str.="[下一页] ";
$subPageCss1Str.="[尾页] ";
} echo $subPageCss1Str;}
/*
构造经典模式的分页
当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function subPageCss2(){
$subPageCss2Str="";
$subPageCss2Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss2Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss2Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss2Str.="[首页] ";
$subPageCss2Str.="[上一页] ";
} $a=$this->construct_num_Page();
for($i=0;$i<count($a);$i++){
$s=$a[$i];
if($s == $this->current_page ){
$subPageCss2Str.="[<span style='color:red;font-weight:bold;'>".$s."</span>]";
}else{
$url=$this->subPage_link.$s;
$subPageCss2Str.="[<a href='$url'>".$s."</a>]";
}
} if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss2Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss2Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss2Str.="[下一页] ";
$subPageCss2Str.="[尾页] ";
}
echo $subPageCss2Str;
}
}
?>
echo "<table border=1><tr>";
while($field=mysql_fetch_field($result))
{
echo "<td><b><i>".$field->name."</i></b></td>";
}
echo "</tr>";while($row=mysql_fetch_row($result))
{
echo "<tr>";
foreach($row as $v)
echo "<td>$v</td>";
echo "</tr>";
}
echo "</table>";
echo "<form>";
if($page>1)
{
?>
<a href="?page=1">首页</a>
<a href="?page= <?php echo --$page;?>">上一页 </a>
<?php
}
if($page<$totalpage)
{
?>
<a href="?page= <?php echo ++$page;?>">下一页 </a>
<a href="?page=<?php echo $totalpage;?>">尾页</a>
<?php
}
?>
转到:
<input type=text name=page size="2">
<?php
echo "总记录:$p[recordnum]当前页$page/$totalpage </form>";
?>
$link=mysql_connect("$localhost","$root","$root")||die("无法连接数据库!");
$db=mysql_select_db("test")||die("选择数据库失败!");
$page = $_GET['page'];
if (isset($page)&&$page==""){
$page=1;}//... 下面相同
//如果你url正确, 而分页功能正常, 那就是得不到$page变量值
<a href="?page= <?php echo --$page;?>">上一页 </a><a href="?page= <?php echo ++$page;?>">下一页 </a>
这样写 好点
语法不对嘛:echo "<a href='vote_edit_member.php?page=1'>首页</a> ";就可以了herf后面都要加引号的。都WEB2。0了,这些不能乱来了。
在一个网页上不用$_GET这种超级变量的。
echo "<a href=vote_edit_member.php?page=".($page+1).">下一页</a> ";
改成这样:
$nextPage = $page + 1;echo "<a href=vote_edit_member.php?page=$nextPage>下一页</a> ";
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE2 {
font-size: 36px;
color: #00FF00;
font-family: "新宋体";
font-weight: bold;
}
-->
</style>
</head><body>
<div align="center"><span class="STYLE2">分页显示技术</span>
<form id="form1" name="form1" method="get" action="">
</form>
<table>
<tr>
<?php
$link=mssql_connect('localhost',"sa","");//连接数据库
if(!$link)
{
die("连接错误".mssql_srror());
}
if(!mssql_select_db("trade",$link))
{
die("连接数据库错误!");
}
$strsql="select * from t_goods";
$result=mssql_query($strsql,$link);//执行SQL语句
echo "<table border=1> <tr>";
while($field=mssql_fetch_field($result))//循环提取表头赋给$field(提取一次只是提取一列)
{
echo "<td>".$field->name."</td>";
}
echo "</tr>";//每一页显示的记录数
$pagesize=2;
//总记录数
$totalNum=mssql_num_rows($result);
//页数
$pagecount=(int)(($totalNum-1)/$pagesize)+1;
//$pagecount=ceil($totalNum/$pagesize);//$absolutepage当前页
if(empty($_GET[absolutepage]))
{
$absolutepage=1;
} if($_GET[absolutepage]<=0)
{
$absolutepage=1;
}
else
{
$absolutepage=$_GET[absolutepage];
}if($absolutepage>$pagecount)
{
$absolutepage=$pagecount;
}
//开始分页
if($pagecount>1&&$absolutepage>1)
{
$prevPage=$absolutepage-1;
}
if($absolutepage>=1&&$absolutepage<$pagecount)
{
$nextPage=$absolutepage+1;
} if(mssql_data_seek($result,($absolutepage-1)*$pagesize))
{
for($i=0;$i<$pagesize;$i++)
{
if (($rows=mssql_fetch_row($result)))
{
echo "<tr>";
foreach ($rows as $row)
{
echo "<td>$row</td>";
}
echo "</tr>";
}
}
}
mssql_close($link);?>
</tr>
<tr>
<td colspan="5"> 共<?php echo $totalNum ?>个人,第<?php echo $absolutepage ?>页/共<?php echo $pagecount ?>页:
<?php
if($pagecount>1&&$absolutepage>1)
{
echo " <a href='?absolutepage=1'>首页</a> ";
echo "<a href='?absolutepage=$prevPage'>上一页</a> ";
}
if($absolutepage<$pagecount)
{
echo " <a href='?absolutepage=$nextPage'>下一页</a> ";
echo "<a href='?absolutepage=$pagecount'>末页</a> ";
}?></td>
</tr>
</table>
<table width="291" border="1" align="center" cellpadding="2" cellspacing="2">
<tr>
<td width="279">请输入要查询的人名:
<label>
<input name="textfield" type="text" size="10" maxlength="10" />
</label></td>
</tr>
<tr>
<td><label></label> <form id="form2" name="form2" method="post" action="">
<label></label>
<div align="center">
<input type="submit" name="Submit" value="提交数据" />
</div>
</form></td>
</tr>
</table>
</form>
<p> </p>
</div>
</body>
</html>
$page=$_GET['page'];