-
- /**
- クエリをページ分割するクラス
- @link http://bbs.it-home.org
- */
- class paging
- {
- private $pageSize; //各ページに表示される項目の数。デフォルトは 10 項目です。
- private $totlePage; // 合計レコード数は何ですか? private $dbConnection; // 現在表示されているページ数
- private $show;デフォルトのメソッド show1() を使用するメソッドです。
- /**
- コンストラクター、データベース接続を確立します
- @$pageSizeP 各ページに表示される項目のデフォルト数は 10 です。
- @$show ナビゲーションを表示するために使用するメソッド。デフォルトのメソッドは show1() ホームページ | 次のページ | 最後のページ を使用します。
- */
- public function _construct($pageSizeP=10,$show="show1")
- {
- $this->dbConnection = @mysql_connect("localhost","ユーザー名","パスワード") );
- if($this->dbConnection)
- {
- die("");
- }
- mysql_select_db($this->dbConnection,"databaseName");
- $this->show = $show;
- $this->pageSize = $pageSizeP;
- }
- /**
- デストラクター、データベース接続を閉じます。
- */
- public function _destruct()
- {
- @mysql_close($this->dbConnection);
- }
- /**
- データベースにクエリを実行し、データベース内のレコード数を表示します。
- @$sql データベースにクエリを実行する SQL ステートメント。
- @$charset はデータベースで使用される文字セットをクエリします。デフォルトは UTF-8 です。
- @return データベースクエリの結果を配列として保存して返します。項目数は不定です。
- */
- パブリック関数 querySQL($sql,$charset="UTF-8")
- {
- mysql_query("SET NAMES ".$charset);
- $rs = @mysql_query($sql);
- if(!$rs )
- {
- die("");
- }
- $num = @mysql_num_rows($rs);
- $this->totlePage= ceil($num/$this->pageSize);
- $this-> nowPageIndex = (isset($_POST['page']) || $_POST['page'] >= 1):$_POST['page']?1;
- if($this->nowPageIndex >$ this->totlePage)
- {
- $this->nowPageIndex = $this->totlePage;
- }
- $start = ($this->nowPageIndex - 1)*$this->pageSize;
- mysql_free_result( $rs);
- $sql .= "LIMIT $start,$this->pageSize";
- $rs = @mysql_query($sql);
- if(!$rs)
- {
- die("");
- }
- $rows = array();
- while($row = @mysql_fetch_row($rs))
- {
- $rows[] = $row;
- }
- @mysql_free_result($rs);
- return $rows;
- }
- /**
- ナビゲーション蘭を表示します。
- @$arg ナビゲーションを表示する関数を呼び出すためのパラメータ。
- $img1 はナビゲーション接続の画像を保存する配列です。 show1() を呼び出すときに使用されます。
- $size は、ナビゲーション ブループリントの 1 行に表示されるページ数です。 show2() を呼び出すときに使用されます。
- */
- public function show($arg)
- {
- $func = $this->show;
- $this->$func($arg);
- }
- /**
- ナビゲーションは、「ホームページ」→「次のページ」→「最後のページ」の順に表示されます。
- @$img1 前のページ | 次のページ | 最後のページに対応する画像パス配列。
- */
- プライベート関数 show1($img1 = NULL)
- {
- $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
- $str = "
|