2013-01-04 43 views
0

我想使用下拉菜單更新我的數據庫 我可以找到的大多數ajax都是爲了退出數據。有人可以請幫助。使用ajax更新數據庫

我的PHP updatestatus.php頁面

include 'includes/session.php'; 
include 'includes/db_connection.php'; 
include 'includes/functions.php'; 

$status = $_POST['status']; 
$id = $_POST['id']; 
$sql = "UPDATE orders SET 
     status = '$status' 
     WHERE id = $id"; 

和我order.php選擇框是

<select name="status" id="id" onchange="updateStatus((this.value),<?php echo $row['id']; ?>)"> 
    <option value="<?php echo $row['status']; ?>"><?php echo $row['status']; ?></option> 
    <option value="Order Placed">Order Placed</option> 
    <option value="Processing">Processing</option> 
    <option value="Dispatched">Dispatched</option> 
</select> 

和我order.php JavaScript是

function updateStatus(status, id){ 
var url = "updatestatus.php"; 
if (window.XMLHttpRequest) { // branch for native XMLHttpRequest object 
    req = new XMLHttpRequest(); 
    req.onreadystatechange = processReqChange; 
    req.open('POST', url, true); 
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
    req.send(data); 

}else if (window.ActiveXObject) { // branch for IE/Windows ActiveX version 
    req = new ActiveXObject('Microsoft.XMLHTTP') 
    if (req) { 
     req.onreadystatechange = processReqChange; 
     req.open('POST', url, true); 
     req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
     req.send(data); 
    } 
} 
} 
+4

爲什麼另起爐竈?使用jQuery。 – adatapost

+0

問題是什麼? –

+0

您在發送請求時遇到問題嗎?或處理請求? – Musa

回答

0

在該行:

req.send(data); 

其中是data被定義?它必須是包含您的idstatus的網址編碼字符串。我搜索時出現了This question

0

定義data爲:

var data = "status="+status+"&id="+id; 

也能改變你的SQL爲:

$sql = "UPDATE orders SET 
     status = '".$status."' 
     WHERE id =". $id;