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

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

WBOY
リリース: 2016-06-23 13:23:27
オリジナル
1776 人が閲覧しました

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

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 が何かを見る すでに解決済みです、私のパラメータに何か問題があることがわかりました。 。ありがとう。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート