-1
我已經建立了這個ajax函數,我想更新數據庫中的兩個字段,如果用戶決定改變它們,我有這個代碼在哪裏打印酒店房間(學校作業)與他們目前的信息,ID等:通過ajax發送值,在SQL中什麼也沒有發生
<?php
include('php/connect.php');
$chquery = "SELECT * FROM rooms";
$chresult = mysqli_query($conn, $chquery);
while($chrow = mysqli_fetch_array($chresult)){
echo "<div class='edit_roomRow'>";
echo "<h1> Rum " . $chrow['ID'] . "</h1>";
echo "<form>";
echo "Rumsnummer:<br> <input id='c-roomnumber' type='text' value = '" . $chrow['ID'] . "' placeholder='" . $chrow['ID'] . "'><br>";
echo "Beskrivning:<br> <input id='c-description' type='text' value = '" . $chrow['Description'] . "'placeholder='" . $chrow['Description'] . "'>";
echo "</form>";
echo "<br>";
echo "</div>";
echo "<div class='btn btn-warning change-btn' data-value='". $chrow['ID'] . "'style='float: right; margin-top: 100px;'>Ändra</div>";
echo "<hr/>";
}
mysqli_free_result($chresult);
mysqli_close($conn);
?>
這裏沒有什麼是錯的,所有的值都看起來是正確的。 那麼這裏就是我從這個表單發送信息的AJAX:
<script type="text/javascript">
$(".change-btn").click(function(){
var id = $(this).attr("data-value");
var description = $("#c-description").val();
var roomnumber = $("#c-roomnumber").val();
//Call to ajax
$.ajax({
method:"GET",
url: "php/changepost.php",
data:{ id: id, description: description, roomnumber: roomnumber },
success: function(){
$(this).val("");
$("#c-description").val("");
$("#c-roomnumber").val("");
//Reload specific div with rooms, avoid full page reload
$(".changerooms").load(location.href + " .changerooms");
}
})
})
</script>
,以確保所有的值從PHP發送(正確的ID從按鈕,說明&房間號),我提醒他們到底的ajax文件,所有的值都是正確的。
然後在這裏,我試圖用新的值更新DB:
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
include('connect.php');
if(isset($_GET['id'])){
$changequery = "UPDATE rooms SET ID = $_GET['roomnumber'], Description = $_GET['description'] WHERE ID = $_GET['id']";
//Perform $changequery
mysqli_query($conn, $changequery);
}
mysqli_close($conn);
?>
我不能看到任何東西,就是在這裏下車,但我也有點用AJAX的新的居多,所以如果你看到的東西,似乎不對,我會很高興與任何幫助,我可以得到.. :)
試着改變你在AJAX發佈和您的$ _GET至$ _ POST或把一個模具()就在isset語句來看看它是否真的開始了這一點。 – Jeff
1st:你需要通過使用成功提示返回的數據:function(data){alert(data);}並查看是否有任何錯誤..第二:我認爲$(this)成功不會工作,所以定義ThisIt = $ (這個);在單擊事件的開始,然後使用ThisIt而不是$(this) –
mysqli_query()返回true或false? GET參數值被轉義? –