Home > Database > Mysql Tutorial > body text

仿百度的sql分页样式分享

WBOY
Release: 2016-06-07 17:48:30
Original
1093 people have browsed it

分页基本是每个程序都会遇到的问题.前面已经发不过sql存储过程的通用分页.这里小弟再发一个前台页面的分页显示.有点仿百度的样子.希望高手们有好的写法给予指导

 

 代码如下 复制代码

protected DataTable dtNews ;

 const int PAGE_SIZE = 7;

 protected string pagestr;

 protected string pagestring;

 protected void Page_Load(object sender, EventArgs e)

 {

     string urlParam = Request["p"] ?? string.Empty;

     int pageIndex;

    int.TryParse(urlParam.Trim(), out pageIndex);

    if (pageIndex

    {

         pageIndex = 1;

     }

//这里就是调用sql通用存储过程的方法,我把SelectPager()方法贴出来

 

 代码如下 复制代码

View Code
//QARequestionBLL就是存放Pager的类

 this.dtNews = QARequestionBLL.SelectPager(pcategory, this._CurPageIndex, _pageSize, "QDatetime", "desc", out doCount);

  pagestring = GetPageStr(doCount, PAGE_SIZE, pageIndex);

   }

 //声明一下.这里面的URLTO,是我用了重定向的方法.把他提取出来一个类了,所以href里面的连接其实就是地址后面加

 代码如下 复制代码

pageindex.(要下班了,所以就不正了,回家有事.嘿嘿....)

     //总共多少也,每页多少条,第几页

        public string GetPageStr(int total, int per, int page)

        {

            int allpage = 0;

            int next = 0;

            int pre = 0;

            int startcount = 0;

            int endcount = 0;

 

            if (page

            if (per != 0)

            {

                allpage = (total / per);

                allpage = ((total % per) != 0 ? allpage + 1 : allpage);

                allpage = (allpage == 0 ? 1 : allpage);

            }

            next = page + 1;

            pre = page - 1;

            if (startcount

            {

                startcount = 1;

            }

            if (allpage

            {

                endcount = allpage;

            }

            if (page > allpage)

            {

                page = allpage;

            }

            if (allpage>1)

            {

                pagestr = "

";

                pagestr += page > 1 ? "

" : "上一页";

                pagestr += "

";

                if (allpage > 10)

                {

                    startcount = (page + 4) > allpage ? allpage - 10 : page - 4;

                    if (page

                    {

 

                        for (int i = 1; i

                        {

                            pagestr += page == i ? "" + i + "" : "" + i + "";

                        }

                        //pagestr += "...  " + Convert.ToString(allpage - 1) + "";

                        pagestr += "..." + allpage + "";

                    }

                    else

                        if (page

                        {

                            pagestr += "  1...";

                            //pagestr += "  2...";

                            for (int i = startcount; i

                            {

                                pagestr += page == i ? "  " + i + "" : "  " + i + "";

                            }

                            //pagestr += "...  " + Convert.ToString(allpage - 1) + "";

                            pagestr += "..." + allpage + "";

                        }

                        else

                        {

                            pagestr += "  1...";

                            //pagestr += "  2...";

                            for (int i = allpage - 8; i

                            {

                                pagestr += page == i ? "  " + i + "" : "  " + i + "";

                            }

                        }

 

                }

                else

                {

                    for (int i = 1; i

                    {

                        pagestr += page == i ? "  " + i + "" : "  " + i + "";

                    }

                }

                pagestr += "

" : " 下一页";

            }

            return pagestr;

        }

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!