- ベストアンサー
「次の○件」(ページ分割?)の方法
お世話になります。 php4とMySQLで検索システムを作っているのですが、検索結果を一定件数づつ表示する方法を探しています。 Limitを使えばいいらしいことは分かったのですが、 (例えば、5件づつ表示したい場合には 「Limit △ 5」とか。) ただ、この△の部分の式がどうしたらよいのかわからないのです。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ページ表示は $connection = mysql_connect($dbHost, $dbUser, $dbPass) or die ("MySQL接続に失敗 (^ ^;"); mysql_select_db($dbName) or die ("データベースに接続できません。"); $max=;//ページ表示数 $page=$_REQUEST[page]; if(!$page){ $start=0; }elseif($page>0){ $start=($page-1)*$max; } $sql = "select * from DB limit $start,$max "; $result = mysql_query($sql) or die ("SQL構文にエラーがあります。: $sql.". mysql_error()); while ($lines = mysql_fetch_row($result)){ echo 表示 } mysql_close($connection); でできるんじゃないかな?
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
ページを保持する変数を持って limit $page*5,5 とやると 0のときは0,5 1のときは5,5 2のときは10,5 となり、目的の部分が取得できます。 pageを引数に受け、次の表示リンクにはpageに 1加算してあげれば次のページにいくようになります。 細かいことを言うと、先に全体件数を取得して 次のページがあるかどうかを判別しないと 最後の取得を行っても、「次のx件」の表示が されてしまいます。
お礼
ありがとうございます。 まだ、試してはいないのですが、早速やってみようとおもいます。 ただ、初心者なので、また躓くかもしれませんが(苦笑)。
お礼
早速のお返事、しかもプログラムまで教えていただき、ありがとうございます。 ポイントなどを1つ1つ見ていきながらやっていきたいと思います。