2017-09-26 176 views
0

嘿傢伙我知道這是問了很多次,這是我第一次遇到問題,我需要從數據庫中獲取數據,但它不工作,並且在控制檯中沒有錯誤。我因爲某種原因無法工作,我的一切設置都正確,我猜我的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'的示例響應。 –

回答

0

有代碼沒有問題,但代碼的位置,阿賈克斯的原因沒有奏效它應該是包含頁腳後頁面中的最後一件事情因爲頁腳包含jQuery包括

-2
$(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