php - 国家名称后面的标志未显示
问题描述
所以是的,我在 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>";
只显示国家名称。请问有什么解决办法吗?
解决方案
首先,您需要将字符串与实际变量正确连接。其次,将其与 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 上不存在该图像的情况下添加“无图像”后备。
推荐阅读
- css - 计算元素之间的空间以将元素放在正确的位置
- node.js - 如何注册猫鼬模式?
- powershell - 如何使 repo 状态出现在 posh git (oh-my-posh)
- c++ - 在实现 OIT 的同时,不同窗口的缓冲区和纹理能否在 OpenGL 中共享同一个绑定点?
- c++ - 我正在尝试使用字符串作为输入将八进制数转换为十进制数,但答案是错误的
- python - Python Tuple vs List 检查包含字节码性能/大小分析
- sql - 空数组的 array_length() 和 cardinality() 返回数组大小之一
- java - orphanRemoval 不起作用,父子关系上的 Spring JPA EntityExistsException
- python - 编解码器无法解码位置 y 的字节 x
- flutter - Flutter: StreamProvider : 有没有办法知道 StreamProvider 的状态?例如,如果它是“加载”还是“完成”?