IMG SRC внутри PHP с большим количеством PHP внутри how to

#php #mysql

#php #mysql

Вопрос:

У меня всегда возникают проблемы со смешиванием языков, и я недавно начал с MYSQL. В этом случае у меня есть этот код:

 <?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=«.$info[‘Website’] . » является URL изображения

Как бы это было написано? Большое спасибо

Ответ №1:

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

Некоторые другие советы…

  • mysql_* это старые функции, PDO намного лучше использовать, теперь он доступен.
  • or die() слишком старый — вы рассматривали исключения?
  • echo чаще используется, чем print , и вам следует использовать случай, указанный в руководстве, например, print вместо Print .
  • Вы должны узнать о разделении задач, например, вы должны выполнять свои запросы и управление данными на другом уровне, где вы передаете соответствующие данные в свое представление, которое будет состоять исключительно из HTML и некоторых конструкций PHP, используемых для его генерации.

Комментарии:

1. спасибо, я проверю все это. Я только сегодня начал работать с базами данных!

Ответ №2:

обычно мне проще попытаться выразить то, что отличается от случая к случаю, абстрактным образом. в вашем случае отличается веб-сайт (после ?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; 
    }
?>