PHP Если еще заявление о том, что запись в базе данных пуста, будет отображаться изображение по умолчанию - PullRequest
1 голос
/ 30 января 2009

Привет, в основном я пытаюсь создать простой оператор 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 голосов
/ 30 января 2009

А как насчет простого троичного :

$photo = ($info['photo'] == null) ? "default.jpg" : $info['photo'];
echo "<img class=\"memberImage\" src=images/". $photo .">";
1 голос
/ 31 января 2009

Вы можете использовать file_exists , который будет работать, даже если изображение будет удалено вручную.

$photo = 'images/'. $info['photo'];
if (file_exists($photo) == FALSE)
{
  $photo = 'images/default.jpg';
} 
echo '<img class="memberImage" src="'. $photo .'"/>';
1 голос
/ 30 января 2009

Вы уверены, что для столбца по умолчанию установлено значение "". это может быть установлено в ноль? хотя idk, если это вызвало бы это, не работает.

добавить следующий код перед оператором if

echo $info['photo'];

Другим предложением было бы обрезать данные перед их сравнением.

0 голосов
/ 31 января 2009

empty () может перехватить условия, которые вы выполняете, поэтому попробуйте

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

empty () возвращает true, если параметром является '', NULL, false, '0', 0 или пустой массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...