php 换页后,序号又重新开始的问题 + 急急急 ?
php php 换页后,序号的问题
$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code limit 0,18");for($i=1;$i $MYSQL->fetch($i);
$customerid=$MYSQL->data[customerid]; // 客户编号
$KSName=$MYSQL->data[KSName]; // 用户名称 - 简称
echo "
echo "
echo "
?>
我是每18 条记录换一页,在第一页序号是从 1 - 18 ,但是我切换到第2页时,序号又是从1 开始一直到第18,第3页同样如此,可能是因为我分页的缘故,我试 了,如果不分页时没有问题的,但是这里我不可能不分页的,求各位没有没好的方法解决这个问题。。
回复讨论(解决方案)
limit 0,18
你这里limit第一个一直是0,当然是那个结果啦
limit 0,18 这里应该是分页参数传过去。
for($i=1;$i echo "
你的序号是程序产生的,当然都是从 1 开始
楼上的回复这是解决换页后内容不变的问题
不能解决序号重新开始的问题
我的意思是,如何解决我换页后,序号从第一页的最后一个序号开始 累加,如1-18,第二页序号就是从 19开始。而不是又从 1开始。。
各位说的都是产生的原因,产生的原因我知道,楼上的兄弟,都没说解决的方法。
设期望的页号由 $_GET['page'] 传入,则有
$offs = 18 * isset($_GET['page']) ? $_GET['page'] - 1 : 0;$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code limit $offs,18");for($i=$offs+1;$i<$offs+$count;$i++){ $MYSQL->fetch($i); $customerid=$MYSQL->data[customerid]; // 客户编号$KSName=$MYSQL->data[KSName]; // 用户名称 - 简称echo "<td align='center'>$i</td>"; //序号echo "<td align='center'>$customerid</td>"; // 客户编号echo "<td align='center'>$KSName</td>"; //用户名称 - 简称
回复 6 楼的兄弟,好像还是不行,
我觉得版主的方法是可以的,先想办法把你页码传入$offs,后面就按照6#的写就可以了。
单独设置变量,计算序号
function toolkit_pages($page, $total, $phpfile, $pagesize = 3, $pagelen = 3, $link = "&") { $num_t_count = $total; $phpfile = "index.php?" . $phpfile; $pagecode = ''; //定义变量,存放分页生成的HTML $page = intval ( $page ); //避免非数字页码 $total = intval ( $total ); //保证总记录数值类型正确 if (! $total) return array (); //总记录数为零返回空数组 $pages = ceil ( $total / $pagesize ); //计算总分页 //处理页码合法性 if ($page < 1) $page = 1; if ($page > $pages) $page = $pages; //计算查询偏移量 $offset = $pagesize * ($page - 1); //页码范围计算 $init = 1; //起始页码数 $max = $pages; //结束页码数 $pagelen = ($pagelen % 2) ? $pagelen : $pagelen + 1; //页码个数 $pageoffset = ($pagelen - 1) / 2; //页码个数左右偏移量 //生成html $pagecode = '<div class="page"><span>' . $total . "</span> "; $pagecode .= "<span>$page/$pages</span> "; //第几页,共几页 //如果是第一页,则不显示第一页和上一页的连接 if ($page != 1) { $pagecode .= "<a href=\"{$phpfile}" . $link . "page=1\"><<</a> "; //第一页 $pagecode .= "<a href=\"{$phpfile}" . $link . "page=" . ($page - 1) . "\">Prev</a> "; //上一页 } //分页数大于页码个数时可以偏移 if ($pages > $pagelen) { //如果当前页小于等于左偏移 if ($page <= $pageoffset) { $init = 1; $max = $pagelen; } else { //如果当前页大于左偏移 //如果当前页码右偏移超出最大分页数 if ($page + $pageoffset >= $pages + 1) { $init = $pages - $pagelen + 1; } else { //左右偏移都存在时的计算 $init = $page - $pageoffset; $max = $page + $pageoffset; } } } //生成html for($i = $init; $i <= $max; $i ++) { if ($i == $page) { $pagecode .= '<span>' . $i . '</span> '; } else { $pagecode .= "<a href=\"{$phpfile}" . $link . "page={$i}\">$i</a> "; } } if ($page != $pages) { $pagecode .= "<a href=\"{$phpfile}" . $link . "page=" . ($page + 1) . "\">Next</a> "; //下一页 $pagecode .= "<a href=\"{$phpfile}" . $link . "page={$pages}\">>></a> "; //最后一页 } $pagecode .= '</div>'; return array ('pagecode' => $pagecode, 'sqllimit' => ' limit ' . $offset . ',' . $pagesize ); }//引用说明/*分页列表*/ if (url_get ( 'count_page' ) != '') { $count_page = url_get ( 'count_page' ); } else { $count_page = 15; } if (url_get ( 'page' ) <= 0 || url_get ( 'page' ) == '') { $page = 1; } else { $page = url_get ( 'page' ); } $t_count = $this->Cmspage_model->row_array ();//统计记录个数自己写个sql语句 $t_first = ($page - 1) * $count_page; $list = $this->Cmspage_model->result_array ( $t_first, $count_page );//返回数组自己写个sql语句 //引用分页函数 $getpageinfo = toolkit_pages ( $page, $t_count, "?c=page&m=index", $count_page, 8 );
#10 楼兄弟写的好像是分页的代码,跟我的问题,好像关系不大吧。
求大神,解决 。。。。。。。。。。。。。。。。。。。。
求大神,解决 。。。。。。。。。。。。。。。。。。。。
6楼已经帮你解决了,你还在求,总不能要求别人帮你写出完整代码吧。重点去看一下sql语句的limit的用法。你技术分800多是如何得来的?你是来逗我们玩的吧。。。。。
#14 ,兄弟,你没搞清楚,问题,就不要瞎说。。ok !!!!!!!!!!
#14 ,兄弟,你没搞清楚,问题,就不要瞎说。。ok !!!!!!!!!!
你换页码的时候,应该是是要拿到url传入的$page值的,比如是$_GET['page'];
然后,你每分一页的时候,都是有一个$page_size的,你的$page_size=18;
所以,你在页面上显示的时候,那个列表的id号应该是:($page-1)*$page_size+$i;$i的值就是数组的下标。
$page=$_GET['page'];$page_size=18;$count=$MYSQL->query("select count(*) from customer cu,custtype cy where 1=1 and cu.code=cy.code");$pages = ceil($count/$page_size);if($page<1) $page = 1;if($page>$pages)$page = $pages;$offset = ($page-1) * $page_size;if($offset<0) $offset = 0;$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code limit ".$offset.",".$page_size);for($i=1;$i<$count;$i++){ $MYSQL->fetch($i); $customerid=$MYSQL->data['customerid']; // 客户编号 $KSName=$MYSQL->data['KSName']; // 用户名称 - 简称 $thisPage=($page-1).$page_size+$i; echo "<td align='center'>".$thisPage."</td>"; //序号 echo "<td align='center'>$customerid</td>"; // 客户编号 echo "<td align='center'>$KSName</td>"; //用户名称 - 简称}
我不知道$MYSQL这个对象的具体情况,所以,其他地方是一个思路,重点看
$thisPage=($page-1).$page_size+$i;
这句。
更正一下,竟然不能编辑,应该是:$thisPage=($page-1)*$page_size+$i;
恩, #16 楼兄弟说的是对的。。 太感谢了

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.
