PEARのpagerでのページ分割について - PHPプロ!Q&A掲示板
キーワード / pager   mySQL   SELECT FROM  
独学でphpを始めてDB検索をするところまで何とかうまくできるようになりました。
メインページで『id』をPOSTしSearch.php以下で検索結果を表示します。
また受け取ったidからcategoryやnameをDBから検索します。
しかし、pagerでページ分割させるところでお恥ずかしい限りですが
一ヶ月程詰まっております。どなたか詳しい方ご教授下さい。
現状pearのインストールとpagerのナビ部分<<前 1 2 3 4 5 後>>は表示できました。
しかし、データは連動されておらず、1や2を押しても連動せず
検索初期ページに全てのデータが表示されます。
①SQLを実行する際にoffsetやlimit句をどのように使用するのですか?
②$totalItemsや$perPageを変数にしてどのように連動させたらよいですか?
以下コードになります。
- session_start();
- $ID = $_POST["id"];
- /* DBログイン用のIDやPass */
- require_once "config.php";
- /* クエリ条件部分 */
- $query = "SELECT * FROM detail";
- $query .= " where 1";
- $query .= " and category = '".$ID."'";
- $flag = true;
- //MySQLデータベースに接続
- if(!$link = mysql_connect($server, $usr, $pass)){
- $flag = false;
- }
- //データベース選択
- if(!$db = mysql_select_db($mydb, $link)){
- $flag = false;
- }
- //lolipop用
- mysql_set_charset("utf8");
- //クエリ実行
- if(!$result = mysql_query($query)){
- $flag = false;
- }
- if(mysql_num_rows($result)==0){
- echo 'データ件数は0件です';
- }
- if ($flag == true){
- //メイン出力部
- while($row = mysql_fetch_assoc($result)) {
- echo $row["category"]." : ".$row["name"]."<br>";
- $record[] = $row;
- }
- }else{
- echo 'データベース接続エラー';
- }
- require_once("Pager/Pager.php");
- $totalItems = 20;
- $perPage = 2;
- $options = array(
- "itemData" => $data,
- "totalItems" => $totalItems,
- "perPage" => $perPage,
- "delta" => 3,
- "mode" => "Sliding"
- );
- $pager = $pager = Pager::factory($options);
- $navi = $pager -> getLinks();
- echo $navi["all"];
- $currentPageID = $pager -> getCurrentPageID();
- print("<p>");
- print("現在のページ番号は".$currentPageID."です");
- print("</p>");
- //SQLの解放
- mysql_free_result($result);
- mysql_close($link);
すみませんがどなたか助言いただけるかたよろしくお願いします。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。





ページのトップへ


今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!