2016-12-06 34 views
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"]); 
} 

幾個畫面例子來幫助理解我的數據庫爲什麼我想要做的事:

I want it so if the checkbox is checked, automatically refresh page after updating database column 'enabled' to 1

+0

我沒有看到一個數據庫查詢,你正在更新一個名爲'enabled'的表。 – Maximus2012

+0

@ Maximus2012哦,是的。我現在已經更新:) –

+0

你確定控件將進入你的AJAX PHP頁面嗎?根據你的邏輯,它應該設置值爲1或0,這樣至少有一個查詢必須被執行。 – Maximus2012

回答

0

我已經做了,現在:)經過艱苦的工作。

相關問題