찾다
백엔드 개발PHP 튜토리얼 php分页遇到的有关问题

php分页遇到的问题
刚学习php,在php100下载了视频教程,可是根据教程里第十三讲给的分页demo,发现运行出错,请大虾给分析下什么原因呢?数据库表为test,字段包括:id、name、sex;运行下面的demo,可现实第一页内容,但是点击下一页的时候不翻页。url地址为http://localhost/bbs2/page.php?page=2,再点击下一页url为http://localhost/bbs2/page.php?page=2&page=2;这个地址就不对了,应该是http://localhost/bbs2/page.php?page=3吧。

HTML code
<!--

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

-->

<?php function _PAGEFT($totle, $displaypg = 20, $url = '') {

        global $page, $firstcount, $pagenav, $_SERVER;

        $GLOBALS["displaypg"] = $displaypg;

        if (!$page)
            $page = 1;
        if (!$url) {
            $url = $_SERVER["REQUEST_URI"];
        }

        //URL分析:
        $parse_url = parse_url($url);
        $url_query = $parse_url["query"]; //单独取出URL的查询字串
        if ($url_query) {
            $url_query = ereg_replace("(^|&)page=$page", "", $url_query);
            $url = str_replace($parse_url["query"], $url_query, $url);
            if ($url_query)
                $url .= "&page";
            else
                $url .= "page";
        } else {
            $url .= "?page";
        }
        $lastpg = ceil($totle / $displaypg); //最后页,也是总页数
        $page = min($lastpg, $page);
        $prepg = $page -1; //上一页
        $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
        $firstcount = ($page -1) * $displaypg;

        //开始分页导航条代码:
        $pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "-<b>" . min($firstcount + $displaypg, $totle) . "</b> 条记录,共 $totle 条记录";

        //如果只有一页则跳出函数:
        if ($lastpg 首页 ";
        if ($prepg)
            $pagenav .= " <a href="%24url=%24prepg">前页</a> ";
        else
            $pagenav .= " 前页 ";
        if ($nextpg)
            $pagenav .= " <a href="%24url=%24nextpg">后页</a> ";
        else
            $pagenav .= " 后页 ";
        $pagenav .= " <a href="%24url=%24lastpg">尾页</a> ";

        //下拉跳转列表,循环列出所有页码:
        $pagenav .= " 到第 <select name="topage" size="1" onchange='window.location=\"$url=\"+this.value'>\n";
        for ($i = 1; $i $i\n";
            else
                $pagenav .= "<option value="$i">$i</option>\n";
        }
        $pagenav .= "</select> 页,共 $lastpg 页";
    }


include("conn.php");

$result=mysql_query("SELECT * FROM `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
_PAGEFT($total,5);
echo $pagenav;

$result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){

echo "<hr><b>".$row[name]." | ".$row[sex];

}


?>


</b>


------解决方案--------------------
这个教程真是害人,太不靠谱了。 不如你在网上找找源码自己改改看
找了半天没看见 $_GET['page'], LIMIT 这两个分页必需词汇
------解决方案--------------------
PHP code
$nowPage = is_numeric($_GET['page']) ? $_GET['page'] : 1; // 当前页
$displaypg = 5; //每页显示五个条目;
firstcount = ($nowPage-1)*$displaypg;
$result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");
<br><font color="#e78608">------解决方案--------------------</font><br>不翻页是你的page没有得到<br><br>这分页程序够雷人的<br><br>太坑人了<br><br>写那么大一片<br><br>去掉一半运行都不会有问题
<br><font color="#e78608">------解决方案--------------------</font><br>
探讨
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP函数介绍—get_headers(): 获取URL的响应头信息PHP函数介绍—get_headers(): 获取URL的响应头信息Jul 25, 2023 am 09:05 AM

PHP函数介绍—get_headers():获取URL的响应头信息概述:在PHP开发中,我们经常需要获取网页或远程资源的响应头信息。PHP函数get_headers()能够方便地获取目标URL的响应头信息,并以数组形式返回。本文将介绍get_headers()函数的用法,以及提供一些相关的代码示例。get_headers()函数的用法:get_header

怎样透过几个步骤获取您的 Steam ID?怎样透过几个步骤获取您的 Steam ID?May 08, 2023 pm 11:43 PM

现在很多热爱游戏的windows用户都进入了Steam客户端,可以搜索、下载和玩任何好游戏。但是,许多用户的个人资料可能具有完全相同的名称,这使得查找个人资料或什至将Steam个人资料链接到其他第三方帐户或加入Steam论坛以共享内容变得困难。为配置文件分配了一个唯一的17位id,它保持不变,用户无法随时更改,而用户名或自定义URL可以更改。无论如何,一些用户并不知道他们的Steamid,这对于了解这一点非常重要。如果您也不知道如何找到您帐户的Steamid,请不要惊慌。在这篇文

如何在Java中使用URL编码和解码如何在Java中使用URL编码和解码May 08, 2023 pm 05:46 PM

使用url进行编码和解码编码和解码的类java.net.URLDecoder.decode(url,解码格式)解码器.解码方法。转化成普通字符串,URLEncoder.decode(url,编码格式)将普通字符串变成指定格式的字符串packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net.URLEncoder

Scrapy优化技巧:如何减少重复URL的爬取,提高效率Scrapy优化技巧:如何减少重复URL的爬取,提高效率Jun 22, 2023 pm 01:57 PM

Scrapy是一个功能强大的Python爬虫框架,可以用于从互联网上获取大量的数据。但是,在进行Scrapy开发时,经常会遇到重复URL的爬取问题,这会浪费大量的时间和资源,影响效率。本文将介绍一些Scrapy优化技巧,以减少重复URL的爬取,提高Scrapy爬虫的效率。一、使用start_urls和allowed_domains属性在Scrapy爬虫中,可

SpringBoot多controller如何添加URL前缀SpringBoot多controller如何添加URL前缀May 12, 2023 pm 06:37 PM

前言在某些情况下,服务的controller中前缀是一致的,例如所有URL的前缀都为/context-path/api/v1,需要为某些URL添加统一的前缀。能想到的处理办法为修改服务的context-path,在context-path中添加api/v1,这样修改全局的前缀能够解决上面的问题,但存在弊端,如果URL存在多个前缀,例如有些URL需要前缀为api/v2,就无法区分了,如果服务中的一些静态资源不想添加api/v1,也无法区分。下面通过自定义注解的方式实现某些URL前缀的统一添加。一、

url是啥意思url是啥意思Aug 04, 2023 am 11:43 AM

url是“Uniform Resource Locator”的缩写,中文意为“统一资源定位符”。URL是通过互联网来定位和访问特定资源的地址,常见于网页浏览和HTTP请求中。URL的主要作用是定位和访问互联网上的资源,这些资源可以是网页、图片、视频、文档或其他文件。

nginx怎么配置url重定向nginx怎么配置url重定向May 12, 2023 am 10:31 AM

本文系统:centos6.5_x64三台主机:nginx主机,hostname:master.lansgg.comip:192.168.10.128apache主机,hostname:client1.lansgg.comip:192.168.10.129一、nginx地址重定向二、nginx反向代理1、地址重定向:是指当使用者浏览某个网址时,将他导向到另一个网址的技术。常用在把一串很长的网址,转成较短的网址。因为当要传播某网站时,常常因为网址太长,不好记忆;又有可能因为换了网路的免费网页空间,网

nginx rewrite如何实现URL跳转nginx rewrite如何实现URL跳转Jun 03, 2023 am 11:55 AM

url跳转这里说的url跳转就是用户在访问一个url时将其跳转到另一个url上。常见的应用场景是让多个域名跳转到同一个url上,(例如让旧域名跳转到新域名上)将静态文件请求跳转到cdn上等根据用户设备跳转到不同站点(pc版,wap版)等。url跳转可以通过js在页面上设置的window.location实现也可以通过php设置header来实现当然也可以用nginx的rewrite功能实现nginxrewrite模块rewrite是nginx的静态重写模块基本用法是rewritepattenre

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)