我已经发布了几次寻求一些帮助,我似乎无法解决为什么我从动态下拉列表中得不到任何数据但是我从2个静态字段中获取。我确实得到了一些答案,但主要是说我需要理清安全性,我希望在任何在线直播之前学习,Firebug中的一切看起来都很好,包括http请求的跟踪,我认为这是查询的问题我正试图运行,我会再发布一次,看看是否有人可以在我解决安全漏洞之前帮助我。
非常感谢帮助我。
首先是html,子类别是问题,所有项目都存储在javascript数组中并且工作正常,只是不是查询
<select name="Category" id="Category"
onchange="javascript: dropdownlist(this.options[this.selectedIndex].value);">
<option value="">Select Category</option>
<select name="subcategory" id="subcategory">
<option value="">Select Sub-Category</option>
</select>
<script>
$(function() {
$('#subcategory').change(function() {
$('#subcategory').load('results.php', {value: $(this).val()});
});
});
</script>
$category=$_POST['Category'];
$subcategory=$_POST['Subcategory'];
$destination=$_POST['Destination'];
$result = mysql_query("SELECT * FROM travel WHERE Category='$category'
AND Subcategory='$subcategory' AND Destination='$destination'")
or die(mysql_error());
$row = mysql_fetch_assoc( $result ) ;
回显表(未发布为正常工作)
答案 0 :(得分:1)
哪里开始?您的字段名称是“子类别”。您将'value'传递给results.php,并且您尝试从$_POST
数组中检索'Subcategory'。你需要排列所有这些名字。
我不确定PHP是否有results.php的代码或者表单发布到的任何脚本,或者它们是否相同?无论result.php需要什么,您都需要包含在传递给加载的数据中。例如,由于您目前使用“值”,因此您需要通过$_POST['value']
,而不是 $_POST['Subcategory']
检索该值。
答案 1 :(得分:0)
您只能从“#subcategory”表单传递到php数据,而不是从“#Category”传递到php数据,并使用另一个ID,而不是在php代码中使用的ID。并且你没有“目的地”的代码,所以我不知道它应该从哪里拿走。使用jquery时,最好将代码放在$(document).ready
中。它应该是这样的:
$(document).ready(function() {
$('#subcategory').change(function() {
$('#subcategory').load('results.php', {Subcategory: $(this).val(), Category: $("#Category").val() });
});
});