首页 > 编程知识 正文

php练手小demo实现分页,php怎么实现分页

时间:2023-12-26 22:40:33 阅读:322923 作者:DLAD

本文目录一览:

PHP如何实现分页显示?

【文件名】: c_mysql_page.inc // 【作 用】: MySQL分页函数类 // 【作 者】: 天灰 // // 【最后修改日期】: 2001/07/16[cxx] // 【变量定义规则】:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型 //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // ※c_mysql_page() 构造函数,设置分页初始参数 // ※page_standard() 分页显示函数(标准型) // ※GetRecordStartEnd() 获得取记录的开始结束位置 // ※getmaxpage() 获得记录集的最大页数 // ※checkpage() 检查当前页数是否在0和最大页数之间 //------------------------------------------------------------------------------------------ class c_mysql_page { //------------------------------------------------------------------------------------------ // 变量定义 //------------------------------------------------------------------------------------------ var $I_pagesize = 10; //每页记录数 var $C_width = '80%'; //表格宽度 //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // 函数名:c_mysql_page ($I_pagesize, $c_width) // 作 用:构造函数,设置分页初始参数 // 参 数:$I_pagesize, $c_width // 返回值:变量 // 备 注:构造函数随着类的建立而自动执行 //------------------------------------------------------------------------------------------ function c_mysql_page ($I_pagesize=10, $C_width='80%') { if (isset($I_pagesize)){$this - I_pagesize = $I_pagesize;} if (isset($C_width)){$this - C_width = $C_width;} } //------------------------------------------------------------------------------------------ // 函数名:page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="") // 作 用:分页显示函数(标准型) // 参 数:$I_sumrecord 记录总数 // $C_url URL // $C_page URL后的参数 // $C_otherpara URL后的参数2 // $bgcolor 表格的背景颜色 // 返回值: // 备 注:无 //------------------------------------------------------------------------------------------ function page_standard($I_sumrecord,$C_page,$C_url="self",$C_otherpara="",$bgcolor="") { //检查参数 if ((!$I_sumrecord) || (!$C_page)){AlertExit("参数不全!");} global $PHP_SELF,$$C_page; //全局变量$C_page //检测$I_pagesize是否合法 if($this - I_pagesize 1){AlertExit("请设定每页的记录数!");} if($I_sumrecord 1){return false;} //检测总记录数 if($C_url == "self"){$C_url = $PHP_SELF;} //设置URL $I_page = $$C_page; //重新赋当前页值 $I_maxpage = $this - getmaxpage($I_sumrecord); //取出总页数 $I_page = $this - checkPage($I_maxpage,$I_page); //检查当前页号 //显示表 echo ""; echo ""; echo "共" . $I_sumrecord. "条主题nbsp当前第" . $I_page . "/". $I_maxpage. "页"; if ($I_maxpage 1) { echo ""; if($I_page 1 $I_page $I_maxpage) { echo "首页"; $pre=$I_page-1; echo "上页"; $next=$I_page+1; echo "下页"; echo "末页"; } elseif($I_page == 1) { $next = $I_page+1; echo "下页"; echo "末页"; } elseif($I_page == $I_maxpage) { echo "首页"; $pre=$I_page-1; echo "上页"; } //显示select echo "转到"; echo "";//OnChange=".WindowLocation($C_url,$C_otherpara,$C_page)." for($i=1;$i I_pagesize; $I_pagesize = $this - I_pagesize; } //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ // 函数名:getmaxpage($intRecordNum) // 作 用:获得记录集的最大页数 // 参 数:$I_sumrecord 记录总数 // 返回值:最大页数$I_maxpage(整型) // 备 注:无 //------------------------------------------------------------------------------------------ function getmaxpage($I_sumrecord) { if (!$I_sumrecord){AlertExit("参数不全!

用PHP如何实现分页并能够实现上一页,下一页,跳转到()页的功能?

htmlhead

title分页示例(php/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

body

?php

$pagesize=10; //设定每一页显示的记录数

$conn=mysql_connect("localhost","root","jrq");

mysql_select_db("sj",$conn);

$rs = mysql_query( "select * from `dw_newsdata`",$conn); //这里有第二个可选参数,指定打开的连接

//-----------------------------------------------------------------------------------------------//

//分页逻辑处理

//-----------------------------------------------------------------------------------------------

$tmpArr = mysql_fetch_array($rs);

$numAL = mysql_num_rows($rs); //取得记录总数$rs

$pages=intval($numAL/$pagesize); //计算总页数

if ($numAL % $pagesize) $pages++;

//设置缺省页码

//↓判断“当前页码”是否赋值过

if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否则,设置为第一页

//↓计算记录偏移量

$offset=$pagesize*($page - 1);

//↓读取指定记录数

$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—当前页—记录集!

$curNum = mysql_num_rows($rs); //$curNum - 当前页实际记录数,for循环输出用

?

table border="0" width="80%"

tr

td width="50%" bgcolor="#E0E0E0"标题/td

td width="50%" bgcolor="#E0E0E0"发布时间/td

/tr

?php

while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循环判断

{

$i=0;

// for($a=0;$a$ColNum;$a++) //==for结束==

?

tr

td width="50%"?= $tmpArr[1]; //$tmpArr["news_title"] ; ?/td

td width="50%"?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?/td

/tr

?php

}//==while结束==

?

/table

?php

//============================//

// 翻页显示 一

//============================//

echo "p"; // align=center

$first=1;

$prev=$page-1;

$next=$page+1;

$last=$pages;

if ($page 1)

{

echo "a href='?page=".$first."'首页/a ";

echo "a href='?page=".$prev."'上一页/a ";

}

if ($page $pages)

{

echo "a href='?page=".$next."'下一页/a ";

echo "a href='?page=".$last."'尾页/a ";

}

//============================//

// 翻页显示 二

//============================//

echo " | 共有".$pages."页(".$page."/".$pages.")";

for ($i=1;$i $page;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";} // 1-先输出当前页之前的

if ($page 0) echo "[".$page."]";; // 2-再输出当前页

for ($i=$page+1;$i=$pages;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";}// 3-接着输出当前页之后

echo "转到第 INPUT maxLength=3 size=3 value=".($page+1)." name=gotox 页 INPUT hideFocus onclick="location.href='?page=gotox.value';" type=button value=Go name=cmd_goto";

echo "/p";

?

/body

/html

php怎么实现分页

/**

* 获取分页的HTML内容

* @param integer $page 当前页

* @param integer $pages 总页数

* @param string $url 跳转url地址 最后的页数以 'page=x' 追加在url后面

*

* @return string HTML内容;

*/

public static function getPageHtml($page, $pages, $url){

//最多显示多少个页码

$_pageNum = 5;

//当前页面小于1 则为1

$page = $page1?1:$page;

//当前页大于总页数 则为总页数

$page = $page $pages ? $pages : $page;

//页数小当前页 则为当前页

$pages = $pages $page ? $page : $pages;

//计算开始页

$_start = $page - floor($_pageNum/2);

$_start = $_start1 ? 1 : $_start;

//计算结束页

$_end = $page + floor($_pageNum/2);

$_end = $_end$pages? $pages : $_end;

//当前显示的页码个数不够最大页码数,在进行左右调整

$_curPageNum = $_end-$_start+1;

//左调整

if($_curPageNum$_pageNum $_start1){

$_start = $_start - ($_pageNum-$_curPageNum);

$_start = $_start1 ? 1 : $_start;

$_curPageNum = $_end-$_start+1;

}

//右边调整

if($_curPageNum$_pageNum $_end$pages){

$_end = $_end + ($_pageNum-$_curPageNum);

$_end = $_end$pages? $pages : $_end;

}

$_pageHtml = 'ul class="pagination"';

/*if($_start == 1){

$_pageHtml .= 'lia title="第一页"«/a/li';

}else{

$_pageHtml .= 'lia title="第一页" href="'.$url.'page=1"«/a/li';

}*/

if($page1){

$_pageHtml .= 'lia title="上一页" href="'.$url.'page='.($page-1).'"«/a/li';

}

for ($i = $_start; $i = $_end; $i++) {

if($i == $page){

$_pageHtml .= 'li class="active"a'.$i.'/a/li';

}else{

$_pageHtml .= 'lia href="'.$url.'page='.$i.'"'.$i.'/a/li';

}

}

/*if($_end == $pages){

$_pageHtml .= 'lia title="最后一页"»/a/li';

}else{

$_pageHtml .= 'lia title="最后一页" href="'.$url.'page='.$pages.'"»/a/li';

}*/

if($page$_end){

$_pageHtml .= 'lia title="下一页" href="'.$url.'page='.($page+1).'"»/a/li';

}

$_pageHtml .= '/ul';

echo $_pageHtml;

}

用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求代码,谢谢

?php

    /*

     *  $total 总记录数

     *  $num   显示数量

     *  $limit  回调SQL语句里的limit 变量

     *  $name  显示字符 默认'个商品'

     *  

     * */        

function page($total,$num,$limit,$name='个商品'){

    $pagenum=ceil($total/$num); //显示总页数 公式:总数据数 除以 每页显示的条数,有余进一 

    $cpage=isset($_GET['page'])? $_GET['page']:1;// 当前页是哪一页,即默认在哪一页

    

    

    $offset=($cpage-1)*$num;  //limit 第一个参数值  从第几个开始。

    

    $limit='LIMIT '.$offset.','.$num;

    $path=$_SERVER['SCRIPT_NAME'].'?'; // 获取当前URL路径

    

    //显示信息

    $str='共 '.$total.'nbsp;'.$name.'nbsp;nbsp;'.'每页显示nbsp;'.$num.'nbsp;条nbsp;nbsp;';   //共多少数据

    

    //显示上一页  

    if($cpage!=1){

        $befor=$cpage-1; //当前页 -1

        $str.='a href="'.$path.'page=1'.'"首页/anbsp;nbsp;a href="'.$path.'page='.$befor.'"上一页/a ';

    }

    //点击下一页后显示页码数量

    for($i=10;$i=1;$i--){

        $n=$cpage-$i;

            if($n0){

                $str.='a href="'.$path.'page='.$n.'"'.$n.'nbsp;nbsp;'.'/a';

            }

    }

    //当前显示页

    if($pagenum1){

        $str.='b'.$cpage.'nbsp;nbsp;'.'/b';

    

    }

    //当前页显示页码数量

    for($i=1;$i10;$i++){

        $n=$cpage+$i;

            if($n$pagenum){

            $str.='a href="'.$path.'page='.$n.'"'.$n.'nbsp;nbsp;'.'/a';

            }

        }

    

    //显示下一页

    if($cpage!=$pagenum){

        $next=$cpage+1;

    $str.='a href="'.$path.'page='.$next.'"下一页/anbsp;nbsp;a href="'.$path.'page='.$pagenum.'"末页/a';

    }

    return $str;

}

模版中使用:

        include "conn.inc.php";

        include "fenye.inc.php";

                  //添加分页

        $psql= "select count(*) as count from apply";

        $arr=mysql_fetch_assoc(mysql_query($psql));

        $total=$arr['count'];  //统计总数据

        

        $page=page($total,5,$limit,'条');

   $sql = "select *  from apply order by id desc $limit ";

                

        $result = mysql_query($sql);

        while($row = mysql_fetch_assoc($result)){

            echo "tr";

            echo "td".$row['id']."/td";

            echo "td".$row['name']."/td";

            echo "td".$row['place']."/td";

            echo "td".$row['xueli']."/td";

            echo "td".$row['tel']."/td";

            echo "td".$row['addtime']."/td";

            echo "tda href='javascript:void(0)' onclick='xq({$row['id']})'详情/a | a href='apply_index.php?del={$row['id']}' 删除/a/td";

            echo "/tr";

        }

            echo "trtd colspan='7'".$page."/td/tr";

?

php 长文章怎么在显示时实现分页

有种偷懒的做法。就是文章太长。就是显示一段,隐藏另外段落。

文章在后台发布肯定是通过WEB编辑器进行的,对吧!你可以在编辑器上增加文章分页显示功能。具体的原理是这样的,你在想要分页的地方插入你自己定义的标记符号比如#page#,插入到数据库中的HTML代码中就会有这样的#page#的代码。在前台看的时候,通过程序处理。把文字HTML中有#page#这样的东西。进行下翻译成文章分页即可!有几个#page#就可以判断在当初在后台设置过分几页显示。生成一段JS代码、控制DIV的显示隐藏就可以实现分页效果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。