0

ドロップダウン メニューを使用してデータベースを更新したい 私が見つけることができるほとんどの 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

2 に答える 2

0

行で:

 req.send(data);

どこでdata定義されていますか?idおよびを含む URL エンコードされた文字列である必要がありますstatus。 検索したらこの質問が出てきました。

于 2013-01-04T04:33:07.657 に答える
0

次のように定義dataします。

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

また、SQLを次のように変更します。

$sql = "UPDATE orders SET
        status = '".$status."'
        WHERE id =". $id;
于 2013-01-04T04:36:16.760 に答える