1
我想讓代碼如此,以便當我點擊複選框來啓用它時,它會更新我的數據庫中的一行到值1.我的複選框是在我的表格內的PHP和圍繞AJAX編碼。我的問題是,當我點擊複選框,1)它不使用AJAX我的成功狀態)做任何事情,(甚至沒有刷新頁面:`當我的表中選中複選框時,如何使數據庫更新一個值{AJAX}
success: function(data) {
window.location.replace("admin_members.php");
}
2)它沒有更新我的數據庫信息從PHP接收器中檢查時,給我的名爲'enabled'的列賦值1。
我的代碼如下:
HTML/PHP表
<td style="border: 1px solid #eee; text-align: center; font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'enabled','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["enabled"] == 1 ? '<input id="enabled-checkbox" value="1" type="checkbox" checked >' : '<input id="enabled-checkbox" value="1" type="checkbox" >'; ?></td>
AJAX發件人(複選框被包含在這裏)
function showEdit(editableObj) {
$(editableObj).css("background","#FFF");
}
function saveToDatabase(editableObj,column,id) {
$(editableObj).css("background","#FFF url('images/spin.gif') no-repeat right");
$.ajax({
url: "includes/saveedit_members.php",
type: "POST",
data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
success: function(data){
window.location.replace("admin_members.php");
}
});
}
PHP接收機
if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) {
header('Location: error-pages/index.php');
} else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) {
mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE id=".$_POST["id"]);
}
幾個畫面例子來幫助理解我的數據庫爲什麼我想要做的事:
我沒有看到一個數據庫查詢,你正在更新一個名爲'enabled'的表。 – Maximus2012
@ Maximus2012哦,是的。我現在已經更新:) –
你確定控件將進入你的AJAX PHP頁面嗎?根據你的邏輯,它應該設置值爲1或0,這樣至少有一個查詢必須被執行。 – Maximus2012