出力するクラスを定義しました。 以下にクラスの属性を示します。...最後は検索ページです
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."页"; } }
ディスカッションに返信(解決策)
ページをめくるときに $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 枚ありません。 。
時間内にあなたの方法に従ってそれを書いた場合、次のページをクリックしても、私が出力したものはまだありません。画像
次のページには、search1.php?page =2 が表示されます
ホーム ページは、サフィックスのない search1.php です。 。 。このように書くと、出力ステートメント $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 が何かを見る
<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>";}