2012-10-24 52 views
0

我試圖從列中包含文件名的列中顯示8張圖片,這些表格是正確的,並且字段interest_idinterest_pic(其中存儲的文件名稱)是正確的。從mysql中檢索一批圖像

$interest_image_query = mysql_query("SELECT interest_pic FROM interest_pictures WHERE interest_id='$i_id'"); 
$i = 0; 
while($interest_display_image = mysql_fetch_array($interest_image_query) && $i < 8){ 
    echo '<td><img src ="/uploads/images/interestpics/'.$interest_display_image['interest_pic'].'" width=60px height=60px /></td>'; 
    $i++; 
} 

輸出似乎顯示文件夾的位置,但沒有文件名。在這種情況下,$i_id = 20,並且已驗證並正在工作。任何幫助表示感謝,謝謝!

+1

如果您在gui或命令行中運行查詢,查詢返回多少行? – case1352

+0

如果你只打算使用其中的8個,我可以建議跳過'$ i ++',而只是在查詢中加入'LIMIT 8' ... –

+0

@ case1352它顯示1行,並且文件名正確 – mobile

回答

0

這才發現&& $i < 8導致$interest_display_image被設置爲布爾「真」

替換if($i < 8){}

0

你確定你跑mysql_select_db()來選擇合適的表?這對我有用。

我還在查詢中添加了一個LIMIT,只返回8個結果,並在img標籤後面的括號中回顯文件名以確認它正在拉取文件名。

$link = mysql_connect('localhost', 'user', 'password'); 
mysql_select_db("tablename"); 

$i_id = 1; 
$interest_image_query = mysql_query("SELECT interest_pic FROM interest_pictures WHERE interest_id='$i_id' LIMIT 8"); 

while($interest_display_image = mysql_fetch_array($interest_image_query, MYSQL_BOTH)){ 
    echo '<td><img src ="/uploads/images/interestpics/'.$interest_display_image['interest_pic'].'" width=60px height=60px /> (' . $interest_display_image['interest_pic'] . ')</td>'; 
}