我有一个动态下拉框,第一个选择,填充数据库中的第二个下拉列表。
include("connect.php");
$choice = mysql_real_escape_string($_GET['choice']);
$query = "SELECT * FROM locations WHERE county_name='$choice' ORDER BY town_name ASC";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo "<option>" . $row{'town_name'} . "</option>";
}
这适用于任何1个单词的'county_name'变量,即伦敦,埃塞克斯。但是当他们选择“东萨塞克斯”时,它什么都不返回。
我认为mysql_real_escape_string是问题,所以我删除了它,但问题仍在发生。
将数据插入第二个下拉列表的javascript如下:
$(function() {
$("#select_county").change(function() {
$("#select_town").load("include_mx/getter.php?choice=" + $("#select_county").val());
});
});
任何帮助都将被理解为什么中间的“空间”没有成功。
非常感谢提前。
答案 0 :(得分:0)
我不确定最快最简单的答案,但这对我有用:
任何有'空间'的县都被'West + Sussex'取代:
`str_replace(" ","+","$variable");
因为我不想显示'+',所以我使用了这个:
$c=$row['county_name']; $county = str_replace("+"," ","$c"); echo "<option value='$c'>$county</option>";
这似乎一直都在工作,而且非常强大。