2013-10-07 84 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中說的那樣,它只是移動到下一個在線的人。

我想知道如何才能做到這一點?現在它只是在顯示正確的圖像時爲每個ID顯示相同的圖像。

+1

也許對應該發生什麼的一些解釋......? –

+0

..或者,你可以從$ result4回顯實際的查詢,並直接運行,看看你是否得到一個名爲'文件名'的列,並有結果.. – NotMe

+0

我在我的文章的最後一句話中說過。 $圖像應該輸出正確的數據裏面的行文件名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

另外,在您的數據庫中,您的照片表是否有帶ID的行,但沒有指定照片文件?也許你正在查詢一張空桌子..

+0

工作正常!謝啦! –

3

您應該只有一個帶有連接的查詢來加入照片表。