#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;
}
?>