嗨,所以这是我的问题,
我有一个包含类别和子类别的数据库。 我有两个下拉框(选择)。我希望它们都可以使用PHP / MYSQL填充。
我的类别已生成:
<select name="prod_cat">
<?php
include("php/dbconnect.php");
$sql = "SELECT * FROM categories";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_array($result))
{
echo '<option value="'. $row["cat_name"] .'">'. $row["cat_name"] .'</option>';
}
}
else{echo "No categories were found!";}
mysqli_close($conn);
?>
</select>
我希望在类别更改时加载子类别。 我的SQL看起来像这样:
SELECT subcat_name FROM subcategories WHERE cat_name = '$prod_cat'
我需要从类别下拉列表中获取值并将其存储为变量。 在过去,我在javascript中做了类似的事情:
var subcat=document.forms["form"]['subcat'].value;
然后通过调用onChange()更改另一个下拉列表的值;功能如:
document.getElementById('subcat').innerHTML='<option value=""></option>';
我希望有人能指出我正确的方向!我应该研究AJAX,JavaScript还是可以用PHP完成?
谢谢。
答案 0 :(得分:0)
在类别选择框中添加ID,如下所示 -
gcc
用于子类别 -
<select name="prod_cat" id="prod_cat">
<?php
include("php/dbconnect.php");
$sql = "SELECT * FROM categories";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_array($result))
{
echo '<option value="'. $row["cat_name"] .'">'. $row["cat_name"] .'</option>';
}
}
else{echo "No categories were found!";}
mysqli_close($conn);
?>
</select>
写下你的脚本 -
<select id='sub_cat' name='sub_cat'></select>
在ajax调用页面中添加代码-'www.example / fetch_subcategory.php'
<script>
$("#prod_cat").change(function(){
//get category value
var cat_val = $("#prod_cat").val();
// put your ajax url here to fetch subcategory
var url = 'www.example/fetch_subcategory.php';
// call subcategory ajax here
$.ajax({
type:"POST",
url:url,
data:{
cat_val : cat_val
},
success:function(data)
{
$("#sub_cat").html(data);
}
});
});
</script>
做这样的事情,并希望它对你有用。