2013-02-07 45 views
0

我試圖用我搜索到的標籤輸出所有圖像。我用相同的標籤'hi'創建了2張圖片。不是所有的行在這個代碼中輸出PHP Mysql

雖然程序只輸出其中一個圖像。但是當我回顯$行數時,它等於2.當我在MYSQL中運行查詢時,它也返回了2行。我不明白爲什麼所有的圖像都顯示出來。

$input = ($_GET['input']); 
$query = "SELECT * FROM `photo`.`photo` WHERE `tags` LIKE '%$input%'"; 
$result = mysql_query($query); 
$data = mysql_fetch_array($result) or die (mysql_error()); 
$rows = mysql_num_rows($result); 
$image = $data['image']; 
    header('Content-type: image/jpeg'); 
    echo $image; 

這不是我所有的代碼,但它是所有我認爲是必要的。這是在另一個頁面顯示的內容。

echo "<img src='photolarge.php?input=$input'>" 

當我回顯$行時,它輸出數字2,所以我知道查詢正在工作。

+1

^^^^爲真,因爲它是,它越來越經常這樣用戶有些乏味每天看10次以上 – 2013-02-07 23:24:26

+0

我正在爲佛做它。 – Kermit

+0

不管房子多次見過它,它仍然需要說:/ – Ascherer

回答

1

您需要使用循環遍歷結果數組。

$query = "SELECT * FROM `photo`.`photo` WHERE `tags` LIKE '%$input%'"; 
$result = mysql_query($query); 
while($rows = mysql_fetch_array($result)) { 
    echo $rows[image]; 
} 

正如我在評論中提到的,請不要使用mysql_功能。您還需要清理參數,因爲您的代碼易受SQL注入攻擊。

+0

好吧,我知道你在做什麼,但我也在同一個文件中重新調整圖像大小。所以我嘗試'code' while($ data = mysql_fetch_array($ result)){ $ image = $ data ['image']; '代碼'而且這仍然只會輸出1圖像 –

+0

我需要一個變量,所以我可以重新調整它的大小。 –

+0

好吧,我試過你所做的,它仍然沒有工作'ob_start(); $ input = $ _GET ['input']; $ query =「SELECT * FROM'photo'.'photo' WHERE'tags' LIKE'%$ input%'」; $ result = mysql_query($ query); ('rows = mysql_fetch_array($ result)){ header('Content-type:image/jpeg'); echo $ rows ['image'];' –

0

您需要獲取第4行中的所有返回行,而不僅僅是第一行。

0

試試這個

$query = "SELECT * FROM `photo`.`photo` WHERE `tags` LIKE '%$input%'"; 
    $result = mysql_query($query); 
    while($row = mysql_fetch_array($result)) { 
    echo $row['image']; 
    } 

提示:嘗試改變MYSQLIPDO,MYSQL不再保持

相關問題