我有一个WordPress网站,我想在其中向用户显示可供选择的城市列表并在Google地图中显示。
我已经创建了一个HTML下拉菜单,我希望在这些菜单中填充从名为Map_of_resellers的MySQL表中检索到的城市。
问题是,下拉框显示在页面中,但它是空的(没有条目)。
我使用的代码显示了我与数据库的连接是否成功,以及db查询是否成功,因此这些不是问题。
如果你想知道[insert_php]和[/ insert_php]标签是什么,它们是允许在WordPress页面中使用PHP的短代码,因为它本身不受支持。 它们被我为此目的安装的名为Insert PHP的WordPress插件使用。
这是我的PHP代码:
[insert_php]
$servername = "sql102.*******.com";
$username = "b3_*******";
$password = "********";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
mysqli_select_db('b3_**********');
$sql="SELECT City FROM Map_of_resellers";
$result=mysqli_query($sql);
if($result === FALSE)
{
die("Query failed: " . mysqli_error());
}
[/insert_php]
<form name="Cities" method="post" >
[insert_php]
echo "<select name='City'>";
while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo "<option value='" . $row['City'] ."'>" .
$row['City']."</option>";
}
echo "</select>";
[/insert_php]
</form>
非常感谢任何帮助!
答案 0 :(得分:0)
查看您提到的插件的source code,它使用eval
来解析PHP代码。评估结束后,在评估脚本中创建的新变量将不在范围内。因此,您的第二个代码块将无法访问$results
。
替换下面的代码应该将$结果保留在范围内并解决问题:
[/insert_php]
<form name="Cities" method="post" >
[insert_php]
到
echo '<form name="Cities" method="post" >';