2011-05-01 78 views
1

總是有麻煩混合的語言和我最近與MYSQL開始更多的PHP。在這種情況下,我有這樣的代碼:IMG SRC內PHP裏面我如何

<?php 
$data = mysql_query("SELECT * FROM Badges") 
or die(mysql_error()); 
while($info = mysql_fetch_array($data)) 
{ 
Print "http://www.google.com/s2/favicons?domain=".$info['Website'] . ""; 
} 
?> 

,我需要它來打印圖像,而不是它的打印鏈接。

http://www.google.com/s2/favicons?domain= 「$信息[ '網站'。」 作爲圖像的URL

怎麼會說寫?非常感謝

回答

3
print '<img src="http://www.google.com/s2/favicons?domain=' . $info['Website'] . '" alt="" />'; 

其他一些技巧...

  • mysql_*老功能,PDO是現在好多了使用它是可用的。
  • or die()是老了 - 你認爲是例外?
  • echo更常用比print,並且應該使用的是,在說明書,例如陳述的情況下print而不是Print
  • 你應該瞭解的關注點分離,例如您應該在不同的圖層上執行查詢和數據管理,並將相關數據傳遞到您的視圖,該視圖將僅由HTML和一些用於生成它的PHP構造組成。
+0

謝謝,我會檢查所有。我今天剛剛開始使用數據庫! – lisovaccaro 2011-05-01 01:59:20

0

我通常會發現更容易嘗試,並表示從什麼不同的情況下以抽象的方式來區分。在你的情況下,它的網站(在?domain=之後)有所不同,其餘全部相同。因此圖片的網址可以抽象地表示爲http://www.google.com/s2/favicons?domain={website},其中{website}是未來替換的佔位符。然後,將使用功能進行

更換

$result = str_replace($what_to_replace, $what_to_replace_with, $original_string); 

這樣做的好處是,你永遠不會在同一行混合的語言,這使得代碼更易於開發:)單看這相當輕鬆閱讀一段代碼:

<?php 
    $img = '<img src="http://www.google.com/s2/favicons?domain={website}" />'; 
    $data = mysql_query("SELECT * FROM Badges") 
    or die(mysql_error()); 

    while($info = mysql_fetch_array($data)) 
    { 
     $concrete_img = str_replace("{website}", $info['Website'], $img); 
     print $concrete_img; 
    } 
?>