ホームページ バックエンド開発 PHPチュートリアル PHP でページをめくるときに次のページに進めないのはなぜですか? 助けてください。

PHP でページをめくるときに次のページに進めないのはなぜですか? 助けてください。

Jun 23, 2016 pm 01:23 PM

出力するクラスを定義しました。 以下にクラスの属性を示します。...最後は検索ページです

include("script/conn.php");    class Page{        private $page;	//当前页码        private $page_num;	//数据总共分多少页显示        private $page_size;	//每页显示的数据条数        private $sql;	//查询的SQL语句        private $limit;	//查询语句后面的limit控制语句	private $total_Num;	//总记录数        public function __construct($sql='',$page_size=3){            $result = mysql_query($sql);            $this->total_Num = mysql_num_rows($result);            $this->page_size = $page_size;            $this->page_num = ceil($this->total_Num / $page_size);	//计算总页数            $this->sql = $sql;            $temp = (isset($_GET["page"]) ? $_GET["page"] : 1);	//获取当前页数            $this->setpage($temp);            $this->showpage();            $this->showFoot();        }        private function showpage(){            $this->limit = " LIMIT ".(($this->page - 1)* $this->page_size).",".$this->page_size;	//limit语句            $result = mysql_query($this->sql.$this->limit);            if (!$result){	//判断结果是否存在                if ($this->page_num > 0){	//如果不存在且页数大于0                    echo "查询出错"."<br>";                }else{                    echo "无数据"."<br>";                }                return;            }            $cols = mysql_num_rows($result);            while($row = mysql_fetch_array($result)){				echo "<img src=".$row['Image']." />";				echo "<br/>";            }        }        private function setpage($page){                if($page < 1){                    $page = 1;                }                else if($page > $this->page_num){                    $page = $this->page_num;                }                    $this->page = $page;        }        private function showFoot(){			echo "<br/>";            echo "<a href='?page=1'>首页</a>丨";            echo "<a href='?page=".($this->page - 1)."'>上一页</a>丨";            echo "<a href='?page=".($this->page + 1)."'>下一页</a>丨";            echo "<a href='?page=".$this->page_num."'>尾页</a>丨";			echo "共有".$this->page_num."页丨";			echo "当前第".$this->page."页";        }  }
ログイン後にコピー

検索ページの一部を提供します。
//search1.php は検索ページです



以下は検索ページのPHPです
include("c.php");//c.phpはPHPプログラムです上記
$keyword =$_POST['search'];
$sql=mysql_query("select * from Didian where name like '%$keyword%'"); !$row) {
echo "検索している情報は存在しません。類似のキーワードを使用して検索してください!"
}
if($keyword= ='北京') {
$pages = new Page('SELECT * FROM `image_beijing`', 3);
コードはこんな感じです。 。授業内で表示されている場合は次のページに進むことができますが、検索ページとなるとページをめくるとホームページしか表示されず、情報がありません。何が問題なのかお聞きしたいです。 。 。アドバイスをお願いします~~~ありがとう...


ディスカッションに返信(解決策)


ページをめくるとき、$this->ページが変更されていないか確認してください

検索ページのサフィックスは変更されていません... ...クラス内で実行すると変更されます... どうすればいいですか...

ページをめくるときに $this->page が変更されているかどうかを確認してください

検索ページはサフィックスを変更していません ~ そしてサフィックスがありません...クラスにサフィックスがありません...変更...何か解決策はありますか?それとも 2 つ入れるべきでしょうか

私が尋ねたのは、$this->page に何か変更があったかどうかということでした

私が尋ねていたのは、$this->page に何か変更があったかどうかということでした

これ... 私はしませんでした気づいてないよ~授業終わって寮に帰ったらやってみるよ... ...でも、変化はないかなぁ~

私が聞いているのは、$this-に変化があるかどうかです。 >ページ

ホームページしか見れません~つまり最初のページです...次のページをクリックするとデータがありません~現在の最初のページが表示されます ページは...変わっていません...どのように解決すればよいでしょうか?

それから、クラス

class Page{  private $page;    //当前页码  private $page_num;    //数据总共分多少页显示  private $page_size;    //每页显示的数据条数  private $sql;    //查询的SQL语句  private $total_Num;    //总记录数  public $limit;    //查询语句后面的limit控制语句  public function __construct($total=100, $page_size=3){    $this->total_Num = $total;    $this->page_size = $page_size;    $this->page_num = ceil($this->total_Num / $page_size);    //计算总页数    $temp = (isset($_GET["page"]) ? $_GET["page"] : 1);    //获取当前页数    $this->setpage($temp);    $this->showpage();    $this->showFoot();  }  private function showpage(){    $this->limit = " LIMIT ".(($this->page - 1)* $this->page_size).",".$this->page_size;    //limit语句  }  private function setpage($page){    if($page < 1){      $page = 1;    }else if($page > $this->page_num){      $page = $this->page_num;    }    $this->page = $page;  }  private function showFoot(){     echo "<br/>";     echo "<a href='?page=1'>首页</a>丨";     echo "<a href='?page=".($this->page - 1)."'>上一页</a>丨";     echo "<a href='?page=".($this->page + 1)."'>下一页</a>丨";     echo "<a href='?page=".$this->page_num."'>尾页</a>丨";     echo "共有".$this->page_num."页丨";     echo "当前第".$this->page."页";  }}
ログイン後にコピー
ログイン後にコピー


からデータベース操作部分を書き換えて削除することを提案したいと思います

class Page{  private $page;    //当前页码  private $page_num;    //数据总共分多少页显示  private $page_size;    //每页显示的数据条数  private $sql;    //查询的SQL语句  private $total_Num;    //总记录数  public $limit;    //查询语句后面的limit控制语句  public function __construct($total=100, $page_size=3){    $this->total_Num = $total;    $this->page_size = $page_size;    $this->page_num = ceil($this->total_Num / $page_size);    //计算总页数    $temp = (isset($_GET["page"]) ? $_GET["page"] : 1);    //获取当前页数    $this->setpage($temp);    $this->showpage();    $this->showFoot();  }  private function showpage(){    $this->limit = " LIMIT ".(($this->page - 1)* $this->page_size).",".$this->page_size;    //limit语句  }  private function setpage($page){    if($page < 1){      $page = 1;    }else if($page > $this->page_num){      $page = $this->page_num;    }    $this->page = $page;  }  private function showFoot(){     echo "<br/>";     echo "<a href='?page=1'>首页</a>丨";     echo "<a href='?page=".($this->page - 1)."'>上一页</a>丨";     echo "<a href='?page=".($this->page + 1)."'>下一页</a>丨";     echo "<a href='?page=".$this->page_num."'>尾页</a>丨";     echo "共有".$this->page_num."页丨";     echo "当前第".$this->page."页";  }}
ログイン後にコピー
ログイン後にコピー

Why $total =100? ページが 100 枚ありません。 。


私が尋ねているのは、$this->page に変更があるかどうかです

時間内にあなたの方法に従ってそれを書いた場合、次のページをクリックしても、私が出力したものはまだありません。画像

次のページには、search1.php?page =2 が表示されます

ホーム ページは、サフィックスのない search1.php です。 。 。


私が尋ねているのは、$this->page が変更されたかどうかです

このように書くと、出力ステートメント $pages = new Page(); の後にどのパラメータを続けるべきかわかりません。 。

$pages = new Page(総数、1 ページあたりのページ数);

$pages = new Page(総数、1 ページあたりのページ数);

2 番目のページにジャンプしても空白のままです。 。 。どこかで道を間違えたのでしょうか?

表示コードは以下の通りです

if($keyword=='桂林'||$keyword=='广西桂林'){	$result=mysql_query("select * from image_guilin limit 3");	while($abc = @mysql_fetch_array($result)){		echo "<img src=".$abc['Image']." />";		echo "<br/>";	}	$pages = new Page(8, 3);}
ログイン後にコピー


$keyword が何かを見る

$keyword が何かを見る

		<form id="search_form" method="post" action="abcdefg.php"> 		<input type="text" id="search" value="城市、景点" onFocus="this.value=''" style="color:#ccc" name="search"/>		<input type="submit" id="s_search" value="搜索" name="Submit" onClick="return check(form)"/>		</form> 
ログイン後にコピー

$keyword=$_POST['search'];$sql=mysql_query("select * from didian where name like '%$keyword%'");$row=@mysql_fetch_object($sql);if(!$row){	echo "<font color='red'>您搜索的信息不存在,请使用类似的关键字进行检索!</font>";}
ログイン後にコピー
はユーザーが入力した検索ボックスです



$keyword が何かを見る すでに解決済みです、私のパラメータに何か問題があることがわかりました。 。ありがとう。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPロギング:PHPログ分析のベストプラクティス PHPロギング:PHPログ分析のベストプラクティス Mar 10, 2025 pm 02:32 PM

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles