国家名称后面的标志未显示
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以上是关于国家名称后面的标志未显示的主要内容,如果未能解决你的问题,请参考以下文章
使用 countrypickerview ,我只想在文本字段的左侧显示电话代码而不是标志
当从JavaScript中的外部文本文件中读取时,如何正确显示国家标志(UTF-8)?
com.apple.CoreData.SQLDebug 标志未显示 SQL