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

Posted

技术标签:

【中文标题】国家名称后面的标志未显示【英文标题】:Flags Behind Countries name are not showing up 【发布时间】:2018-06-14 04:04:09 【问题描述】:

所以是的,我在 DB 国家代码和国家名称中都选择了两者,并尝试将标志放在国家名称后面

SQL

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

我的表格中应该在国旗和国家名称中的行

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

仅显示国家名称。请问有什么解决办法吗?

【问题讨论】:

你需要整理出你的字符串中的连接 country_code 似乎只返回那个(代码)而不是图标、图像或图像路径。您需要将代码与实际图像所在的位置相匹配。另外,请在您的问题中添加minimal reproducible example,您提供的内容无法完全回答 可能是因为 flag.php 没有返回图片或者不是图片 【参考方案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?

【讨论】:

【参考方案2】:

只需将您的回声更新为:

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

【讨论】:

您的代码不起作用,它会将我引导至此链接api.hostip.info/images/flags

以上是关于国家名称后面的标志未显示的主要内容,如果未能解决你的问题,请参考以下文章

带有标志的 Html 国家/地区列表 [关闭]

使用 countrypickerview ,我只想在文本字段的左侧显示电话代码而不是标志

当从JavaScript中的外部文本文件中读取时,如何正确显示国家标志(UTF-8)?

com.apple.CoreData.SQLDebug 标志未显示 SQL

Android:在通知时不会自动显示使用啥意图标志这样未破坏的活动

Android 使用语言环境获取国家/地区 Emoji 标志