我正在使用jquery ajax进行填充下拉列表,我发现了这个错误
注意:未定义的索引:Categid in 第9行的C:\ xampp \ htdocs \ PopuTry \ popucon.php
这里是代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database="maindb";
$names =$_POST['categid'];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
$output='';
$sql ="Select * From tbl_stocks Where Category = '".$names."'";
$result = mysqli_query($conn,$sql);
$output='<option value="">Select Menu</option>';
while($row=mysqli_fetch_array($result))
{
$output .='<option value="'.$row["Menu_Number"].'">'.$row["Name"].'</option>';
}
echo $output;
?>
$names
代码是抛出错误的地方,
这是我的HTML代码
<?php
include('popucon.php');
function loadCateg()
{
$servername = "localhost";
$username = "root";
$password = "";
$database="maindb";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
$output ='';
$sql = "select * from tbl_category";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result))
{
$output .='<option value-"'.$row["cat_id"].'"">'.$row["Category"].'</option>';
}
return $output;
}
?>
<html>
<head>
<title>Try1 Populate</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<p>Select Category
<select name="categ" id="categ">
<option value="">Select Category</option>
<?php echo loadCateg(); ?>
</select></p>
<p>Select Menu
<select name="menu" id="menu">
<option value="">Select Menu</option>
</select></p>
</body>
</html>
<script>
$(document).ready(function(){
$('#categ').change(function(){
var categ_id = $(this).val();
$.ajax({
url:"popucon.php",
method:"POST",
data:{categid:categ_id},
dataType:"text"
success: [ function (data)
{
$('#menu').html(data);
}
]
});
});
});
</script>
data:{categid:categ_id},
是categid
$ _POST声明的地方。
答案 0 :(得分:0)
试试这段代码:
$.ajax({
url:"popucon.php",
method:"POST",
data:{categid:categ_id},
success: function (data)
{
$('#menu').html(data);
}
});
答案 1 :(得分:0)
在尝试使用之前先检查它是否存在。
$servername = "localhost";
$username = "root";
$password = "";
$database="maindb";
if( isset( $_POST['categid'] ) ){
$names =$_POST['categid'];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
$output='';
$sql ="Select * From tbl_stocks Where Category = '".$names."'";
$result = mysqli_query($conn,$sql);
$output='<option value="">Select Menu</option>';
while($row=mysqli_fetch_array($result))
{
$output .='<option value="'.$row["Menu_Number"].'">'.$row["Name"].'</option>';
}
echo $output;
}
答案 2 :(得分:0)