• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLでデータ表示)

MySQLでデータ表示

このQ&Aのポイント
  • MySQLでデータの表示を行っています
  • 10件ずつ表示し、11件からは2ページ目に表示したいです
  • 次の10件を押してもデータが変わらず1件目から10件目のままです。どこが違うか教えてもらえますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>$page = isset($_GET['page']) ? $_GET['page'] : ''; // 取得 で、$pageを検証する前に >$sql.= " limit " . $page*10 . ", 10" ; で変数$pageを利用しています そのままだと常に$sqlのlimitは0始まりになります

noname#197690
質問者

お礼

いつもありがとうございます 先に $page = isset($_GET['page']) ? $_GET['page'] : ''; // 取得して $sql.= " limit " . $page*10 . ", 10" ; をやるということですか?

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

初心者なら、プログラムを書く前に、「設計図」をきちんと作ってはどうでしょうか? そして、全部一度にやろうとしないで、一つ一つ部品を分けてやっていきませんか? まずは ~?page=2 でアクセスしたら 現在 2 頁 <前 次> と表示され、「前」には ~?page=1 「次」には~?page=3 にリンクが張られている、というプログラムを作ってみましょう。 当然、 page=3でアクセスすれば 「前」には ~?page=2 「次」には~?page=4 となるように、です。 あなたが作ろうとしているのは、このプログラムから 「現在 2 頁」と表示する部分を変えただけのものです。 このプログラムができないようでは、あなたが作ろうとしているものなどできません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>先に >$page = isset($_GET['page']) ? $_GET['page'] : ''; // 取得して > >$sql.= " limit " . $page*10 . ", 10" ; >をやるということですか? やるかどうかは質問者さんが決めることなので、私が絶対にやれとは言いませんが 前述したとおり定義されていない$pageという変数を利用している以上 $pageは0だと判断されるか、エラーになるかのどちらかです。 定義書とかフローチャートとか書いてないんですか?

noname#197690
質問者

お礼

ありがございます エラーではないのですが Notice: Undefined variable: page と出ます おっしゃるとおり定義されてないということですよね? どう定義すればいいんですか? すいませんが教えていただけませんか? またアドレスバーに直接?page = 1と入力すると11件目からのデータが表示されます 定義書は書いてません フローチャ-トはこうなったらここに遷移するみたいなのは書きましたすいません 何度もすいません

noname#197690
質問者

補足

こういうことですか? if (isset ($_GET['page'])==false) { $page=0; } else { //そうでなければpageパラメータの値をpage変数にセット $page = $_GET['page']; } //LIMITを使ったSELECT文を作成 $sql = "select * from tbl_test" ; $sql.= " limit " . $page*10 . ", 10" ; これを行って警告はなくなったのですが、まだ次の10件押しても変わらないです。 助けお願いします まだどこかおかしいですか