2011-05-01 2 views
1

언어를 혼합하는 데 항상 어려움이 있으며 최근에 MYSQL을 시작했습니다. 이 경우에는 다음 코드를 사용합니다 :IMG SRC 안에 PHP가 더 많은 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

0

일반적으로 추상적 인 방식으로 사례마다 다른 것을 시도하고 표현하는 것이 더 쉽습니다. 귀하의 경우 다른 웹 사이트 (?domain= 이후)이고, 나머지는 모두 동일합니다. 따라서 이미지에 대한 URL은 추상적으로 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; 
    } 
?>