Rumah pembangunan bahagian belakang tutorial php [原创]分页中级教程之步进分页,该怎么解决

[原创]分页中级教程之步进分页,该怎么解决

Jun 13, 2016 pm 01:40 PM
gt lt page quot

[原创]分页中级教程之步进分页
在初级教程中提到当页码很多的情况,本文主要是针对此处探讨。欢迎拍砖。

源码与之前的初级分页教程差不多,只是在输出翻页链接的地方稍作改进

什么是步进分页呢?这里简单的说一下

当总页数达到好几百的时候,如果按照之前的文章中的做法,那么页面变得很丑,所有的页码都输出来了,因此很不雅观,所以需要对输出的页码数量进行控制。如果你细心,看discuz的分页。最终显示的页码始终不超过一定数量。


PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->




<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>分页实例</title>
<style>
.page A{ padding:3px 5px; float:left; border:solid #CCCCCC 1px; text-decoration:none; font-size:10px; margin-left:1px; font-family:Verdana;color:#000000;}
.page A.currentpage{ color:#FF0000; border: solid red 1px;}
.page A:hover{ background-color:#CCCCCC;}
</style>



//PHP分页实例
error_reporting(7);
//初始化翻页链接参数
$page=$_GET["page"]+0;//思考这里是用强制转换为整数还是用什么方法呢?
$page= $page$total_page?$total_page:$page;//避免$_GET["page"]大于总页数

//翻页链接开始
$page_link="";
if ($total_page&gt;1)
{
    $page_link="<a>一共{$total_page}页</a>";
    $page_link.="<a>当前第{$page}页</a>";
    $page_link.="<a href="?page=1">首页</a>";

    if ($page&gt;1){
        //页码大于1的时候,显示上一页翻页链接
        $pre_page=$page-1;
        $page_link.="<a href="?page=%24pre_page">";
    }
    //翻页列表

    //步进分页,翻页列表的数字始终只显示9个或者自定义的个数,本例定义只显示9个,当前页左右各显示4个页码
    if ($total_page&gt;9)
    {
        if ($page&gt;4)
        {
            $from=$page-4;
            $to=$page+4;
            if ($to&gt;$total_page)
            {
                $from=$total_page-8;
                $to=$total_page;
            }
        }
        else
        {
            $from=1;
            $to=9;
        }

    }
    else
    {
        $from=1;
        $to=$total_page;
    }
    for ($i=$from;$i$i</a>";
        }
        else
        {
            $page_link.="<a href="?page=%24i">$i</a>";
        }

    }
    //页码小于总页数的时候显示下一页翻页链接
    $next_page=$page+1;
    if($next_page&gt;&gt;";
    }
    $page_link.="<a href="?page=%24total_page">最后一页</a>";
}

//输出记录

$offset=($page-1)*$page_size;
$query=mysql_query("select * from product limit $offset,$page_size")  or die(mysql_error());
echo "
Salin selepas log masuk
    "; while ($rs=mysql_fetch_array($query)) { echo "
  • {$rs["id"]}-{$rs["ename"]}
  • "; } echo "
"; echo "
$page_link
"; ?>



------解决方案--------------------
难得看见的加绿色的文章。。
------解决方案--------------------
好教程,适合新手哦,我有自己的分页类
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Jul 29, 2023 am 08:22 AM

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Cara melaksanakan halaman data dan pengoptimuman paparan dalam projek Vue Cara melaksanakan halaman data dan pengoptimuman paparan dalam projek Vue Oct 15, 2023 am 09:27 AM

Cara melaksanakan halaman data dan pengoptimuman paparan dalam projek Vue

Adakah watch4pro lebih baik atau gt? Adakah watch4pro lebih baik atau gt? Sep 26, 2023 pm 02:45 PM

Adakah watch4pro lebih baik atau gt?

Microsoft melancarkan binaan Windows 11 23H2 ke saluran Pratonton Keluaran dengan Copilot Microsoft melancarkan binaan Windows 11 23H2 ke saluran Pratonton Keluaran dengan Copilot Sep 28, 2023 pm 07:17 PM

Microsoft melancarkan binaan Windows 11 23H2 ke saluran Pratonton Keluaran dengan Copilot

Cara mengoptimumkan hayat bateri iPad dengan iPadOS 17.4 Cara mengoptimumkan hayat bateri iPad dengan iPadOS 17.4 Mar 21, 2024 pm 10:31 PM

Cara mengoptimumkan hayat bateri iPad dengan iPadOS 17.4

See all articles