アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>

A 回答 (1件)

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



データベース定義を変えてもいいならupfilenameのNOT NULLを外して、
is_null関数で判断するとか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/07/19 22:58

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