• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpとmysqlでデータの一覧表示をしたいと思っています。)

phpとmysqlでデータの一覧表示方法を解説!

このQ&Aのポイント
  • phpとmysqlを使用してデータを一覧表示する方法を解説します。一覧表示にはLIMIT句を使用し、ページごとに表示する件数を指定します。
  • また、間隔を空けるために<hr>や<br>タグを挿入する方法も紹介します。現在はLIMIT句を使って複数のqueryを発行していますが、1回のqueryで処理する方法もあります。
  • データベースのテーブルのレコードをLIMIT句で指定した範囲ごとに取得し、whileループで繰り返して表示することでデータの一覧表示ができます。

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

>おかしなところなどありますでしょうか。 「 $i = --$i; 」は、動作はすると思いますが、とても不自然な書き方です。 --$i; は $i = $i-1; の省略型ですから、 省略型と普通の書き方がごちゃまぜになってしまっています。書くなら 「 $i = $i-1; 」 か「 --$i; 」だけのどちらかにしましょう。 >また、教えていただいたif(!--$i)の部分が分かりませんでした・・ >その点も教えて頂けると嬉しいです。 (すでにご理解されているように思えますが一応。) 感嘆符 ! は、否定ですので  if(!--$i)は、 「 まず$iを-1して、その結果が FALSE つまり 0 なら~」ということです。 $i=$i-1; if($i == 0){ ですね。 他のプログラム言語でも、演算子はほぼ同じですので、一度「演算子」に目を通しておかれるとよいかと思います。 http://www.php.net/manual/ja/language.operators.increment.php ※もちろん無理に省略する必要はありません。ご自分で分かりやすいのが一番です。

nec90
質問者

お礼

丁寧に教えて頂きましてありがとうございました。 とても分かりやすかったです。

その他の回答 (2)

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

$i = --$i; はありえない・・・。 --$iという書式はデクリメントといって $i=$i-1という意味ですから それを$iに代入しても仕方がありません。

nec90
質問者

お礼

指摘して頂きありがとうございました。

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

カウント用のflagをたてればOKです。一度に100件取得して $i=10; //区切りたい件数 while(~){  処理~    //最後に$iを-1する。0なら<hr>出力して、カウンタを10に戻す  if(!--$i){echo "<hr>"; $i=10;} }

nec90
質問者

お礼

ありがとうございます。 アドバイスを参考にして下記のようにしてみました。 ぱっとみたところうまくいっているのですが おかしなところなどありますでしょうか。 $i=10; //区切りたい件数 while(~){  処理~   $i = --$i; if($i==0){ echo '<hr>'; $i = 10; } } また、教えていただいたif(!--$i)の部分が分かりませんでした・・・ その点も教えて頂けると嬉しいです。

関連するQ&A