0

我目前正在做一个表格,客户必须填写调查表格,我将有一个 AJAX“保存”按钮,当客户没有设法完成表格本身时,我可以将数据保存到数据库中,然后当客户再次登录,中途填写的表格会再次弹出,要求客户继续填写调查表。

AJAX/javascript/jQuery 是否可以在其中使用 php 代码(因为插入查询)?

不太确定 AJAX 等等,感谢您的帮助!

这是“保存”按钮。

<input type="button" onClick="save();" value="Save">

这是插入查询,它将被插入到数据库中。

    <?php
        include("dbFunctions.php");


        $idQuery = "SELECT id,question,input FROM db_ExtApp1.scFormLayout WHERE surveyID ='$lastID'";
$idResult = sqlsrv_query($conn, $idQuery);

while ($row = sqlsrv_fetch_array($idResult)) {
    $fcID = $row['id'];
    $question = $row['question'];
    $surveyTitle = $_SESSION['surveyTitle'];
    $input = $row['input'];

    if (isset($_POST['qns' . $fcID])) {
    $answer = implode(",", $_POST['qns' . $fcID]);
    $newAns = str_replace($singleQuote,$changeQuote,$answer);
    } else {
        $newAns = '';
    }
    if (isset($_POST['others'.$fcID])) {
    $others = $_POST['others' . $fcID];
    $newOthers = str_replace($singleQuote,$changeQuote,$others);
    }else {
        $newOthers = 'N.A.';
    }

$connectionInfo['ConnectionPooling']=0; // this creates a new connection on the next line...
$newconn = sqlsrv_connect($serverName, $connectionInfo); 
if ($input != 'Normal text line, no input required*') {
    $query = "INSERT INTO db_ExtApp1.scFormResult(surveyID, answer, others, title, question, name)
VALUES ('$lastID','$newAns','$newOthers', '$surveyTitle','$question', '$name')";

    $status = sqlsrv_query($newconn, $query);
} }
    if ($status === false) {
        die(print_r(sqlsrv_errors(), true));
    } 
sqlsrv_close($conn);
4

1 回答 1

1

您可以使用 jquery $.ajax() 将数据从客户端发送到 PHP。(例如)

$.ajax({
url : 'path/to/php/page',
data : { id : '1', name : 'name' },
dataType : 'JSON',
type : 'POST',
cache: false,
success : function(succ) {
alert(succ);
},
error : function(err) {
alert(err);
}
});

然后在 PHP 页面中,使用 $_POST[] 捕获数据并将其插入数据库。

$id = $_POST['id'];
$name = $_POST['name'];

确保您对这些值进行转义并使其对 sql 插入安全。

于 2013-06-12T03:44:06.210 回答