从ajax数据库获取数据

从ajax数据库获取数据

问题描述:

嘿家伙我知道这是问了很多次,这是我第一次遇到问题,我需要从数据库中获取数据,但它不工作,并且在控制台中没有错误。我因为某种原因无法工作,我的一切设置都正确,我猜我的ajax很好?从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> 

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 
?> 
+0

您在开发者控制台或在您的浏览器的开发者控制台的网络选项卡中检查出什么错误... –

+1

是否控制台显示任何错误?是否启用PHP错误报告? – Script47

+0

请添加来自'get_level.php'的示例响应。 –

有代码没有问题,但代码的位置,阿贾克斯的原因没有奏效它应该是包含页脚后页面中的最后一件事情因为页脚包含jQuery包括

$(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>"); 
     }); 
     }); 
    }); 
}); 
+1

因为?添加一个解释,只是代码转储对任何人都没用,我们不知道你改变了什么,或者更重要的是,为什么。 – ADyson

+0

此外,花时间以可读的方式格式化您的代码。 – ADyson