ホームページ バックエンド開発 PHPチュートリアル whileループから抜け出せない、解決方法

whileループから抜け出せない、解決方法

Jun 13, 2016 pm 01:35 PM
count page quot stopwatch

whileループから抜け出せない
各ページに6種類の食べ物を表示するページングコードを書きたいのですが、どのページでもループから抜け出せないようです。
コードは次のとおりです:

PHP コード
<!--

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<$page_count_start)
                {
                    //$stopwatch++;
                    continue;   //这里好像跳不出去,试了一下,不管进哪一页都是一样的
                }
                
                $dish_id=$get_details['dish_id'];
                $dish_price=$get_details['dish_price'];
                $dish_name=$get_details['dish_name'];
                $dish_img=$get_details['img_url'];
                $dish_descr=$get_details['dish_description'];

                //echo "$dish_id $stopwatch";

            

                $page_count_start++;

                if($page_count_start==$page_count_end+1)
                {
                    $stopwatch=0;
                    break;
                }
                             //echo ".....";
}

ログイン後にコピー



-----解決策----- ---------------
開始オフセットを計算したので、
$query .= "limit $page_count_start,6";
$result=queryMysql($query);

も使用してみてはいかがでしょうか?ループ内の $stopwatch に関連するコードを削除します。
------解決策----------------------
投稿者は、mysql に制限句があることを知らない可能性があります
------解決策-----
「When」が表示されない場合は、続行する前にエコーします。エコーになる、あなたの判断条件に何か問題があります。
さらに、MySQL のページングは​​ループではなく制限を使用して実装されます。
------解決策-----
私はphpの人間ではないので、これを言いました、視聴することを選択します。
ページングを行うには、最初に count(*) を使用してクエリする項目の数を確認し、次に各ページ (項目) に表示される項目の数で割って、合計数を取得します。ページ (page) を入力し、受信ページ番号 (inpage) を受け取ります。 inpage が 0 以下または空の場合、inpage を 1 に変更します。それが page より大きい場合、inpage = page を変更します。
変数 StartPage = (inpage-1) *item,
を設定し、SQL テキストを記述します。
select * from tab_name where 条件制限 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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

カウンタとカウントの違い カウンタとカウントの違い Nov 20, 2023 am 10:01 AM

Count 関数は、指定された範囲内の数値の数をカウントするために使用されます。テキスト、論理値、NULL 値は無視されますが、空のセルはカウントされます。Count 関数は、実際の数値を含むセルの数のみをカウントします。 CountA 関数は、指定された範囲内の空でないセルの数をカウントするために使用されます。実際の数値を含むセルを数えるだけでなく、テキスト、論理値、数式を含む空でないセルの数も数えます。

Vue プロジェクトでデータ ページングと表示の最適化を実装する方法 Vue プロジェクトでデータ ページングと表示の最適化を実装する方法 Oct 15, 2023 am 09:27 AM

Vue プロジェクトでデータ ページングと表示の最適化を実装します。Vue プロジェクトでは、ページに大量のデータを表示する必要がある場合、通常、ユーザー エクスペリエンスを向上させるためにデータ ページングと表示の最適化を実行する必要があります。この記事では、Vue を使用して次のことを行う方法を紹介します。データ ページングと表示の最適化を実装し、具体的なコード例を提供します。 1. データページング データページングとは、大量のデータを一定の規則に従って複数のページに分割してページ上に表示することをいいます。次の手順を使用して、Vue プロジェクトにデータ ページングを実装できます: データ ソースを定義します。

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

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

Spring Boot ソース コードで StopWatch を実装し、時間の消費をエレガントにカウントする方法 Spring Boot ソース コードで StopWatch を実装し、時間の消費をエレガントにカウントする方法 May 11, 2023 pm 02:13 PM

はじめに 昨日、ゴルファーから @SpringBootApplication アノテーションの意味と SpringBoot の動作について説明してもらえないかと尋ねられたので、このアノテーションのソース コードと run() メソッドを閲覧させました。彼はそれを理解しました。一度。いや、ソースコードを見ていく過程は本当に面白い、いや、面白い点を発見しました。 publicConfigurableApplicationContextrun(String...args){StopWatchstopWatch=newStopWatch(

MySQL Count関数の使い方の違いまとめ MySQL Count関数の使い方の違いまとめ Nov 29, 2022 pm 04:47 PM

この記事では、MySQL の Count 関数の使い方の違いを紹介します。統計データの必要性は、日常の開発において非常に簡単に遭遇します。MySQL は、さまざまな計算関数もサポートしています。次に、それらの違いを見てみましょう。そして落とし穴があるかどうか。

PHPのcount関数の使い方は何ですか PHPのcount関数の使い方は何ですか 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;テーブル内のテスト データは次のとおりです。次に、これら 3 つの列の重複排除された列をカウントする必要があります。

PHP count() 関数を使用して配列要素の数を数える方法を学びます。 PHP count() 関数を使用して配列要素の数を数える方法を学びます。 Jun 27, 2023 am 10:37 AM

PHP は、特に配列操作において強力な開発機能を備えた非常に人気のあるサーバーサイド プログラミング言語です。 PHP の配列は、複数のデータ項目を保存および管理するために広く使用されています。配列を操作する場合、多くの場合、配列内の要素の数をカウントする必要がありますが、これは PHP の count() 関数を使用することで実現できます。 count() 関数は、配列要素の数をカウントするための PHP の組み込み関数です。この関数を使用する場合、関数のパラメータとして配列を渡すだけで済みます。

See all articles