「やり方」もですが、「考え方」も分からなかったので、質問させていただきます。
やりたいこと
・画像付きの掲示板を作成したい
⇨ユーザー名、コメント、画像を登録されているものを全て出力
・BLOB形式のファイルをすべて取り出したい
できていること(全て別のphpファイル)
・DBに画像、コメント、ユーザー名の登録(記事IDは登録順に自動保存)
・DBに登録されているコメント、ユーザー名をすべて表示
・DBに登録されているBLOBファイルを1枚のみ出力する
とりあえず、対応する画像と内容を登録されている分出力したいと考えています。
テーブルは、
ID|content|IMG
1 |ohayou |[BLOB - 13.2KiB]
2 |oyasumi |[BLOB - 3.2 Kib]
(以下略)
のように作られています。
完成イメージは、
[画像]
ohayo
[画像]
oyasumi
というように表示されるものです。
PHP
1//DB接続後 2 $sql ="SELECT IMG,content FROM IMAGES "; 3 $stmt = $pdo->query($sql); 4 if(!$stmt){ 5 $info = $pdo->errorInfo(); 6 exit($info[2]); 7 } 8 while ($data = $stmt ->fetch(PDO::FETCH_ASSOC)) { 9 header("Content-Type: image/jpeg"); 10 echo $data['IMG']; 11 echo $data['content']; 12 }
と書けば登録されている分が表示されると思ったのですが、
1枚目の画像しか表示されません。(contentですら出力されません)
この書き方というか、headerを用いると1枚しか画像の取得はできないのでしょうか?
それともこのような書き方で複数枚出力することは可能なのでしょうか?
取得と表示は別に行う、というものを見たことがあるので、
PHP
1print("<img src=img_get.php>");
というものを別のphpファイルとして作成、表示することは成功しているのですが、img_get.phpには1枚しか画像の取得ができていないため、当たり前ですが内容がある分同じ画像が出力されるという現状です。
考え方、コードの改善の仕方を教えていただけると助かります。
以上、よろしくお願いしますよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー