2013-10-07 3 views
-1

Сначала я вставлю свой код, а не объясню.Проверка, является ли переменная пустой

while($row = mysqli_fetch_assoc($result)) { 
    $id=$row['id']; 
    $username=$row['username']; 
    $email=$row['email']; 
    $firstname=$row['firstname']; 
    $lastname=$row['lastname']; 
    $motto=$row['motto']; 
    $bio=$row['bio']; 
$result4 = mysqli_query($link, "SELECT * FROM photo where id='$id'"); 
while($row4 = mysqli_fetch_assoc($result4)) 
{ 
$image=$row4['filename']; 
$src = (empty($image)) ? "upload/your-photo.jpg" : "site_images/$id/$image"; 
} 

Как вы можете сказать, проблема связана с изображением. Я думаю, проблема заключается в том, где она ВЫБИРАЕТ * ОТ фотографии, где id = '$ id', потому что это в цикле while, и если оно пустое, как указано в $ src, оно просто переходит к следующему человеку в очереди.

Мне было интересно, как можно было бы сделать эту работу? Сейчас он просто отображает одно и то же изображение для каждого идентификатора, когда он должен показывать правильное изображение.

+1

Возможно, какое-то объяснение того, что должно произойти ...? –

+0

..или, вы могли бы отбросить фактический запрос из $ result4 и запустить его напрямую, чтобы узнать, получаете ли вы столбец с именем «имя_файла» и что есть результаты. – NotMe

+0

Я сказал это в последнем предложении моего сообщения , $ image должен выводить правильные данные внутри имени файла строки, где id = $ id и единственная проблема заключается в том, что я объявил $ id внутри оператора while, который у меня есть, поэтому я считаю, что он просто пропускает проверку, которую я имею в переменная $ src. –

ответ

0

Я хотел бы попробовать вспыхивают условную, где у вас есть внутренний цикл:

$result4 = mysqli_query($link, "SELECT * FROM photo where id='$id'"); 
while($row4 = mysqli_fetch_assoc($result4)) 
{ 
    $image=$row4['filename']; 
    $src = "upload/your-photo.jpg"; 
    if(!empty($image)) { 
    $src = "site_images/$id/$image"; 
    } 
} 

Если это не сработает, попробуйте использовать:

strlen 

и проверить, если он равен 0

Кроме того, в вашей базе данных в вашей таблице фотографий есть строки с идентификаторами, но не указан файл с фотографией? Возможно, вы запрашиваете пустой стол.

+0

Это сработало! Спасибо чувак! –

3

У вас должен быть только один запрос с присоединением к нему, чтобы присоединиться к таблице фотографий.

Смежные вопросы