みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

飲食店のメニュー表を作成中。MySQLの内容を出力する時に画像が×表示になります。<img src="">の使い方を教えて下さい。

PHP+MySQLで飲食店のメニュー表を作成しています。

--------------------------------------------------
MySQLのテーブル
--------------------------------------------------
CREATE TABLE item (
id int(11) NOT NULL auto_increment,
menu varchar(50) NOT NULL,
comment text NOT NULL,
upfilename TEXT NOT NULL,
imgdir TEXT NOT NULL,
PRIMARY KEY (id)
);

id = オートナンバー
menu = メニュー名
comment = メニューのコメント
upfilename = アップロードするイメージファイル名
imgdir = アップしたイメージファイルのディレクトリ

--------------------------------------------------
質問
--------------------------------------------------
「imgdir」には、常に「/web/img/」がMySQLに登録されるようにしています。
「menu.php」で出力する時に、「upfilename」にデータが存在しない場合は、×が表示されます。
メニューの写真がない場合もあります。
こういう場合は、どのような処理を行えばよいのでしょうか?
よろしくお願い致します。

--------------------------------------------------
menu.php
--------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>

<?php

$dbHandle = mysql_connect("mysql**.lolipop.jp","LA**","g**")
or die("can not connect db\n");

$db = "LA**";

$sql = "SELECT id, menu, comment, upfilename, imgdir FROM item ORDER BY id DESC";
$rs = mysql_db_query($db,$sql);

while ($item = mysql_fetch_array($rs)){
print $item['id'] . "<BR>";
print $item['menu'] . "<BR>";
print $item['comment'] . "<BR>";
print "<img src=".$item['imgdir'] . $item['upfilename'].">" . "<BR>";
print "<hr>";
}

mysql_free_result($rs);
mysql_close($dbHandle);

?>

</body>
</html>

投稿日時 - 2008-07-19 13:31:42

QNo.4188288

困ってます

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

データベース定義を変えたくないなら、レコード登録時に画像がない印としてupfilenameに' 'を埋めといて、phpのコードで' 'だったら<img src>を出力しないようにするとか。

データベース定義を変えてもいいならupfilenameのNOT NULLを外して、
is_null関数で判断するとか。

投稿日時 - 2008-07-19 13:49:03

お礼

phoenix343様、
回答をありがとうございます。
「phpのコードで' 'だったら<img src>を出力しないようにする」
というアドバイスで解決できました。
写真が無い場合に、×が表示されなくなった時は、とても嬉しかったです。

投稿日時 - 2008-07-19 22:58:39

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問