重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

データベースに格納した数100件の画像をphpで一覧表示する際に、
一気に読み込まないで10件づつ表示するという形を取ろうとしています。

最初に10件の画像を表示しておいて、
下部にある「もっと見る」のリンクをクリックしたら次の10件を表示する、という機能を
実装したいのですが、良い方法はないでしょうか?


全画像を表示した際のソース
$sql .= "SELECT ~";
$result= mysql_query("{$sql}");
$num= mysql_num_rows($result);

for($i = 0; $i < $num; $i++){
$arr = mysql_fetch_array($result);
<img src="<?php echo $arr[img_path]; ?>" />
}

A 回答 (2件)

for文で0~件数まで廻すんじゃなくて、別にカウンタ基点用の変数持って


カウンタ基点からの10件で廻す。
ページ操作でカウンタ基点を±10してやる。
(もちろん、上限・下限チェックは必要ですが)
    • good
    • 0
この回答へのお礼

ページングで次の10件を表示するイメージは付いたのですが、
同じページ内で10件の画像追加する方法がわかりません。

もしよければ具体的な書き方を教えていただけないでしょうか?

お礼日時:2013/08/16 09:38

SQLでページング処理は可能です。


http://www.syboos.jp/database/doc/sql-query-pagi …

mysql_○○関数はマニュアルを見てもわかる通り強く非推奨とされています。
もうこれを使って新しくスクリプトを書くのはやめましょう。
PDOを使いましょう。
こちらの回答のリンクを参考にしてください。
http://detail.chiebukuro.yahoo.co.jp/qa/question …

また、php.iniで
error_reporting = E_ALL
display_errors = On
の設定で開発するようにしてください。
E_NOTICEが非表示の状態だと不適切なコーディングを数多く生んでしまう要因となります。

以下ダメ出し

・"{$sql}" → $sql で十分
・<img src="<?php echo $arr[img_path]; ?>" /> そもそもこれパースエラーになって実行できない
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
もう少し勉強してから導入を検討したいと思います。

お礼日時:2013/08/16 09:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!