название фотографии из mysql не показывает альтернативу - PullRequest
0 голосов
/ 27 августа 2018

Может кто-нибудь, пожалуйста, покажите мне, где я иду не так, я занимаюсь этим часами и не могу заставить это работать ... Фотографии, показывающие, загружен ли участник ... При загрузке картинки она помещает детали в базу данных mysql (picture.jpg)

У меня проблема при попытке показать изображение по умолчанию, если изображение не было загружено. Я пробовал разные способы, включая Numrows, но что-то не так, я по какой-то причине не получаю картинку по умолчанию .... Любая помощь будет оценена Спасибо

$sql_com = mysqli_query($db_conx, "SELECT `photo` FROM `members` ORDER BY `members`.`registered` DESC LIMIT 7");
$hpmembers = '';
while($row = mysqli_fetch_array($sql_com)){ 
$photo = $row["photo"];

if (file_exists('photos/' . $photo . '')) {
    $user_pic = '<img src="photos/' . $photo . '" width="94" height="94" border="0" style="padding:2px;border:#e6e6e6 solid 1px;margin:3px;" />';
}else{
    $user_pic = '<img src="photos/avatar.gif" width="94" height="94" border="0" style="padding:2px;border:#e6e6e6 solid 1px;margin:3px;" />';   
}

    $hpmembers .= '' . $user_pic . '';
}

Также пробовал:

$sql_com = mysqli_query($db_conx, "SELECT `photo` FROM `members` ORDER BY `members`.`registered` DESC LIMIT 0, 14");
$i = 0;
$hpmembers = '<table border="0" cellpadding="5">';
$num_rows = $sql_com->num_rows;
while($row = mysqli_fetch_array($sql_com)){ 
$photo = $row["photo"];

if ((file_exists('photos/' . $photo . '')) && ($num_rows > 0)) {
    $user_pic = '<img src="photos/' . $photo . '" width="50" height="50" border="0" />';
}else{
    $user_pic = '<img src=\"photos/avatar.gif\" width="50px" height="50px" border="0" />';  
}

if ($i % 7 == 0) {
    $hpmembers .= '<tr><td>' . $user_pic . '</td>';
} else {
    $hpmembers .= '<td>' . $user_pic . '</td>';
}
$i++;
}
$hpmembers .= '</tr></table>';

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

@ Ответ Форбса хорош, я просто предоставляю другой подход.

Я бы проверил, вернул ли ваш запрос какие-либо строки. Если это так, то есть фото, если это не так, то отобразить рис по умолчанию

$sql_com = mysqli_query($db_conx, "SELECT `photo` FROM `members` ORDER BY `members`.`registered` DESC LIMIT 7");
if (!mysqli_num_rows($img_result)){ //If nothing is returned from the database, then display default image
     $user_pic = '<img src=\"photos/avatar.gif\" width="50px" height="50px" border="0" />';  
}
else{ //If there is a location returned, display the image with the image path
      while($row = mysqli_fetch_array($sql_com)){ 
      $photo = $row["photo"];
      $user_pic = '<img src="photos/' . $photo . '" width="50" height="50" border="0" />';
}

Я сделал это так, потому что я пишу код с учетом отрицательной проверки. но это также должно дать тот же результат: D

0 голосов
/ 27 августа 2018

Если $photo пусто, тогда каталог photos/ существует

Изменение

 if (file_exists('photos/' . $photo . '')) {

до

 if (file_exists('photos/' . $photo . '') && $photo != '') {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...