백엔드 개발 PHP 튜토리얼 跳不出while循环,该怎么解决

跳不出while循环,该怎么解决

Jun 13, 2016 am 10:18 AM
count page quot stopwatch

跳不出while循环
我想写个分页代码,每个页面显示6种食物,但是好像跳不出循环,不管我进哪一页都是一样的
代码如下:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$each_page=6;            $diff=$rows % 6;            $page_org=$rows / 6;            $count=1;            if($diff>0)            {                $page = floor($page_org+1);            }            else            {                $page = floor($page_org);            }            $page_count_start=0;            $page_count_end=0;            $stopwatch=0;            if(!isset($_GET['page']) || (isset($_GET['page'])&&$_GET['page'])==1)            {                //echo "hello";                $page_num=1;                $page_count_end=$page_count_start + 6;            }            else            {                //echo "hello";                $page_num=$_GET['page'];                $page_count_start=$page_num + ($page_num-1) * 5;                $page_count_end=$page_count_start + 6;            }            $query="SELECT * FROM DISH WHERE dish_id IN (SELECT dish_id FROM CATEGORY_MENU WHERE cat_id=$cat_id)";            $result=queryMysql($query);                        while($get_details=mysql_fetch_array($result))            {                $stopwatch++;                if($stopwatch
로그인 후 복사



------解决方案--------------------
既然你已经计算出起始的偏移,那为什么不用 limit 子句呢
$query .= " limit $page_count_start,6";
$result=queryMysql($query);

同时删除循环中与 $stopwatch 相关的代码
------解决方案--------------------
楼主可能还不知道mysql有limit子句
------解决方案--------------------
在continue;前echo一下,如果看不到echo就是你的判断条件有问题。
另外分页MySQL是使用limit实现的,而不是循环。
------解决方案--------------------
我不是做php的,所以我说的,你选着看吧。
做分页,我的做法是先用count(*)查询一下一共有多少项是要查询的,然后除以每页要显示的条数(item),得到共有多少页(page),然后接收传入的页码数(inpage),如果inpage小于等于0或者为空,则将inpage改为1,如果大于page,则改inpage = page。
设置变量StartPage = (inpage-1)*item,
然后写sql文
select * from tab_name where 条件 limit StartPage,item;
这样就能根据传进来的参数查询了。
在页面,上一页直接用当前页-1,下一页直接用当前页+1,做了上面的处理后,不会出现超出范围的情况了。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

카운트와 카운트의 차이점 카운트와 카운트의 차이점 Nov 20, 2023 am 10:01 AM

Count 함수는 지정된 범위 내의 숫자 수를 계산하는 데 사용됩니다. 텍스트, 논리값 및 Null 값은 무시하지만 빈 셀의 개수는 계산됩니다. Count 함수는 실제 숫자가 포함된 셀의 개수만 계산합니다. CountA 함수는 지정된 범위에서 비어 있지 않은 셀의 수를 계산하는 데 사용됩니다. 실제 숫자가 포함된 셀의 개수뿐만 아니라 텍스트, 논리값 및 수식이 포함된 비어 있지 않은 셀의 개수도 계산됩니다.

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

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Vue 프로젝트에서 데이터 페이징 및 디스플레이 최적화를 구현하는 방법 Vue 프로젝트에서 데이터 페이징 및 디스플레이 최적화를 구현하는 방법 Oct 15, 2023 am 09:27 AM

Vue 프로젝트에서 데이터 페이징 및 디스플레이 최적화 구현 Vue 프로젝트에서 페이지에 많은 양의 데이터를 표시해야 하는 경우 일반적으로 사용자 경험을 개선하기 위해 데이터 페이징 및 디스플레이 최적화를 수행해야 합니다. 데이터 페이징 및 디스플레이 최적화를 구현하고 구체적인 코드 예제를 제공합니다. 1. 데이터 페이징(Data paging) 데이터 페이징이란 대량의 데이터를 일정한 규칙에 따라 여러 페이지로 나누어 한 페이지에 표시하는 것을 말합니다. 다음 단계를 사용하여 Vue 프로젝트에서 데이터 페이징을 구현할 수 있습니다. 먼저 데이터 소스를 정의합니다.

Spring Boot 소스 코드가 StopWatch를 구현하여 시간 소비를 우아하게 계산하는 방법 Spring Boot 소스 코드가 StopWatch를 구현하여 시간 소비를 우아하게 계산하는 방법 May 11, 2023 pm 02:13 PM

소개 어제 한 골퍼가 나에게 @SpringBootApplication 주석이 무엇을 의미하는지, SpringBoot가 어떻게 작동하는지 설명해 줄 수 있는지 물었습니다. 그래서 저는 그에게 이 주석의 소스 코드와 Run(SpringApplication 클래스의) 메서드를 살펴보라고 안내했습니다. , 그는 즉시 그것을 이해했습니다. 말하지 마세요. 소스 코드를 보는 과정이 정말 흥미롭습니다. 흥미로운 점을 발견했습니다. publicConfigurableApplicationContextrun(String...args){StopWatchstopWatch=newStopWatch(

MySQL Count 함수의 사용법 차이 요약 MySQL Count 함수의 사용법 차이 요약 Nov 29, 2022 pm 04:47 PM

이 기사에서는 일상적인 개발에서 통계 데이터의 필요성을 매우 쉽게 접할 수 있는 사용법의 차이점을 소개합니다. 다음으로 이들 간의 차이점을 살펴보겠습니다. 그리고 함정이 있는지 여부.

PHP에서 카운트 함수의 사용법은 무엇입니까 PHP에서 카운트 함수의 사용법은 무엇입니까 Sep 09, 2021 pm 05:08 PM

PHP에서 count 함수의 사용법은 다음과 같습니다: [count(array,mode);], 여기서 매개변수 array는 계산할 배열을 지정하고, 매개변수 mode는 함수의 모드를 지정합니다.

mysql에서 고유한 여러 열 개수 문제를 해결하는 방법 mysql에서 고유한 여러 열 개수 문제를 해결하는 방법 Jun 03, 2023 am 10:49 AM

재현된 테스트 데이터베이스는 다음과 같습니다: CREATETABLE`test_distinct`(`id`int(11)NOTNULLAUTO_INCREMENT,`a`varchar(50)CHARACTERSETutf8DEFAULTNULL,`b`varchar(50)CHARACTERSETutf8DEFAULTNULL,PRIMARYKEY(`id`))ENGINE= InnoDBAUTO_INCREMENT =1DEFAULTCHARSET=latin1;테이블의 테스트 데이터는 다음과 같습니다. 이제 이 세 열의 중복 제거된 열을 계산해야 합니다.

Java Count는 스트림의 요소를 어떻게 계산합니까? Java Count는 스트림의 요소를 어떻게 계산합니까? May 11, 2023 pm 04:07 PM

참고 1. Count는 스트림의 전체 요소 수를 계산할 수 있는 터미널 작업입니다. 반환 값은 long 유형입니다. 2. count()는 스트림의 요소 수를 반환합니다. 이는 귀납의 특별한 경우입니다(귀납 연산은 일련의 입력 요소를 취하고 결합 연산을 반복적으로 적용하여 이를 요약 결과로 결합합니다). 이는 최종 작업이므로 결과와 부작용이 있을 수 있습니다. 터미널 작업이 수행된 후에는 파이프가 소모된 것으로 간주되어 재사용할 수 없습니다. 예 // 목록에 a로 시작하는 문자열이 있는지 확인하고 첫 번째 문자열과 일치합니다. 즉, truebooleananyStartsWithA=stringCollection.stream().anyMatch((s를 반환합니다.

See all articles