国家名称背后的标志未显示

时间:2018-06-14 04:04:09

标签: php html sql image tags

所以是的,我有DB国家代码和国家名称我选择了两个,我试着把国旗放在国名后面

SQL

 $sql = "SELECT country,country_code FROM DB";

我的表中的行应该是Flag和国家/地区名称

    echo "<td>" "<IMG SRC='http://api.hostip.info/flag.php' width='30' height='20' BORDER='0' ALT='. $row["$country_code"] .'/>"; " . $row["country"] . </td>";

仅显示国家/地区名称。有什么解决方案吗?

2 个答案:

答案 0 :(得分:1)

首先,您需要将字符串与实际变量正确连接。其次,将其与API所需的相应URL相结合。

似乎API需要两个字母的ISO国家/地区代码:

http://api.hostip.info/images/flags/us.gif

喜欢这样。

反过来,只需应用连接基本原则并添加正确的URL:

我建议这样做。

$country_code = strtolower($row['country_code']); // do this in application level or on DB level mysql function LOWER(country_code)
$country = $row['country'];
echo "
<td>
    <img src=\"http://api.hostip.info/images/flags/{$country_code}.gif\" width=\"30\" height=\"30\" alt=\"{$country_code}\" />
    {$country}
</td>
";

旁注:除了该代码之外,您还可以添加一个验证,检查该国家/地区代码图像是否存在,以便您还可以在API上不存在该图像的情况下添加“无图像”后备

Correct PHP way to check if external image exists?

答案 1 :(得分:1)

只需将您的回音更新为:

echo '<td><IMG SRC="http://api.hostip.info/images/flags/'. $country_code .'.gif" width="30" height="20" BORDER="0" />' . $row["country"] . "</td>";