Php 用ajax从数据库获取数据

Php 用ajax从数据库获取数据,php,jquery,ajax,Php,Jquery,Ajax,嘿,伙计们,我知道这个问题被问了很多次,这是我第一次遇到问题,我需要从数据库中获取数据,但它不工作,控制台中也没有错误。我不能让它工作,因为某些原因,我有一切设置正确,我的ajax是好的,我想 这是我的html: <div class="form-group"> <label> Event</label> <?php $event = $con->prepare('SELECT * FROM event'); $ev

嘿,伙计们,我知道这个问题被问了很多次,这是我第一次遇到问题,我需要从数据库中获取数据,但它不工作,控制台中也没有错误。我不能让它工作,因为某些原因,我有一切设置正确,我的ajax是好的,我想

这是我的html:

<div class="form-group">
    <label> Event</label>
    <?php
    $event = $con->prepare('SELECT * FROM event');
    $event->execute();
    $eventrows = $event->fetchAll();
    ?>
    <select class="form-control" id="event" name="event_id">
        <?php
        foreach ($eventrows AS $eventrow) {
        ?>
        <option
        value="<?php echo $eventrow['EventID']; ?>"><?php echo $eventrow['EventName']; ?></option>
        <?php } ?>
    </select>
</div>
<div class="form-group">
    <label> Level</label>
    <select class="form-control" id="level" name="level_id">
    </select>
</div>

事件
数量
我的阿贾克斯

<script>
$(document).ready(function() {
  $('#event').change(function() {
    var event_id = $(this).children(":selected").val();
    $.post("get_level.php", {
      event_id: event_id
    }, function(data, status) {
      console.log(status);
      if (status == 'success') {

        var loopdata = JSON.parse(data);
        $('#level').html('')
        $.each(loopdata, function(i, item) {
          $('#level').append("<option value='" + loopdata[i].LevelID + "'>" + loopdata[i].LevelName + "</option>");
        });
        console.log(data);
      }
    });
  });
});
</script>

$(文档).ready(函数(){
$('#事件')。更改(函数(){
var event_id=$(this).children(“:selected”).val();
$.post(“get_level.php”{
事件id:事件id
},功能(数据、状态){
控制台日志(状态);
如果(状态=‘成功’){
var loopdata=JSON.parse(数据);
$('#level').html('')
$。每个(循环数据、函数(i、项){
$('#level').append(“+loopdata[i].LevelName+”);
});
控制台日志(数据);
}
});
});
});
get_level.php

<?php
session_start();
include 'connect.php';

$reg = $con->prepare("SELECT * FROM Level WHERE EventID = '".$_POST['event_id']."'");
$reg->execute(array());
$allreg=$reg->fetchAll();
echo json_encode($allreg);  // pass array in json_encode
?>
$(文档).ready(函数(){
$('#事件')。更改(函数(){
var event_id=$(this.val();
$.post(“get_level.php”{
事件id:事件id
}(“json”)
.done(函数(循环数据){
$('#level').html('')
$。每个(循环数据、函数(i、项){
$('#level')。追加(“+item.LevelName+”);
});
});
});
});

代码中没有问题,但代码的位置,ajax不起作用的原因是,它应该是页面中包含页脚后的最后一件事,因为页脚有jQuery includes

您在浏览器的开发人员控制台或开发人员控制台的“签入网络”选项卡中遇到了什么错误……控制台是否显示了任何错误?是否启用了PHP错误报告?请添加来自
get\u level.PHP
的示例响应。您确实需要在此处添加一些解释。不要只转储代码,希望我们知道发生了什么事,所以现在我们知道我们正在发送正确的变量值。但仍然是个问题。进入下一部分:您是否验证了查询是否成功?例如,您还没有回答我关于数据类型的问题,或者您得到了什么HTTP响应。在你检查之前,我不能确定你是否检查正确,或者根本没有。如果你直接回答所有问题,我们会更快到达那里。因为?添加一个解释,仅仅是一堆代码对任何人都没有用,我们不知道你改变了什么,或者更重要的是,为什么。
$(document).ready(function() {
  $('#event').change(function() {
    var event_id = $(this).val();
    $.post("get_level.php", {
        event_id: event_id
      }, 'json')
      .done(function(loopdata) {
        $('#level').html('')
        $.each(loopdata, function(i, item) {
          $('#level').append("<option value='" + item.LevelID + "'>" + item.LevelName + "</option>");
        });
      });
  });
});