1

こんにちは基本的に、データベースに入力されていない場合にデフォルトの画像を表示する単純な IF ステートメントを作成しようとしています。サーバーを使用して画像を保存し、データベースにファイル名を保存しているため、データベースにファイル名がある場合は画像を表示できますが、レコードが空の場合はこのデフォルトを表示する場合に If ステートメントを使用します画像。ここに試したコードがいくつかありますが、うまくいきませんか?他の方法をいくつか試しましたが、どちらもうまくいきませんでした。

乾杯。

これまでのコード:

//Retrieves data from MySQL
$data = mysql_query("SELECT * FROM db*****") or die(mysql_error());

//Puts it into an array
while($info = mysql_fetch_array( $data ))
{
?>

        <div class="member">
        <div class="imageSection">
       <? 

        if($info['photo'] == '')
         {echo "<img class=\"memberImage\" src=images/default.jpg>";}
          else {echo "<img class=\"memberImage\" src=images/".$info['photo'] .">";}
         ?>
        </div>  
        <div class="memberInfo">
<? Echo "<p><strong>Name: ".$info['nameMember'] . "</strong></p>";
Echo "<p>Position: ".$info['bandMember'] . " </p>";
Echo "<p>About Band Member ".$info['nameMember'] .":".$info['aboutMember'] . "</p>";
Echo "<p>Other Bands: ".$info['otherBands'] . " </p><br/></div></div><br class=\"clearBoth\"/>";

}
?>
4

4 に答える 4

4

単純な三項についてはどうですか:

$photo = ($info['photo'] == null) ? "default.jpg" : $info['photo'];
echo "<img class=\"memberImage\" src=images/". $photo .">";
于 2009-01-30T20:57:26.707 に答える
1

file_existsを使用できます。これは、画像を手動で削除した場合でも機能します。

$photo = 'images/'. $info['photo'];
if (file_exists($photo) == FALSE)
{
  $photo = 'images/default.jpg';
} 
echo '<img class="memberImage" src="'. $photo .'"/>';
于 2009-01-30T21:04:09.250 に答える
1

列のデフォルト値が「」に設定されていますか? nullに設定できますか?それが原因で動作しない場合はidkですが。

if ステートメントの前に次のコードを追加します。

echo $info['photo'];

別の提案は、比較する前にデータをトリミングすることです。

于 2009-01-30T20:57:48.233 に答える
0

empty()はあなたが求めている種類の条件を捕らえることができるので、試してみてください

 if(empty($info['photo']))
 {
     ....
 }

empty()は、パラメーターが''、NULL、false、 '0'、0、または空の配列の場合にtrueを返します。

于 2009-01-30T21:04:18.657 に答える