【问题标题】:Having an Ajax Save button and save in database有一个 Ajax 保存按钮并保存在数据库中
【发布时间】:2013-06-08 00:36:23
【问题描述】:

我目前正在做一个表格,客户必须填写调查表格,我将有一个 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);

【问题讨论】:

  • ajax 在哪里?并且您可以使用 php 发出 ajax 请求......但 php 是服务器端
  • 我不知道如何开始为 ajax 编写代码,因为我不熟悉它。这就是为什么我目前正在寻求帮助,至少是寻求指导,这样我就可以写出代码或尝试一下......
  • 你可以看到this post它的带有ajax的jquery ...看到这个它将帮助你发出ajax请求,你可以从ajax请求中获取数据
  • 简而言之,您使用 ajax 将表单的内容发送到服务器,然后使用 php 获取该信息并执行适当的数据库查询。还有一件好事,因为 javascript 中的查询将是一场安全噩梦。
  • ajax 调用需要访问 PHP 服务,如果这是在执行诸如添加到数据库、从数据库中删除之类的操作,您可能应该添加一个 OAuth 安全层...查看 jQuery ajax示例和 PHP RESTful 服务。

标签: php jquery ajax database


【解决方案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 插入安全。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2016-09-15
    相关资源
    最近更新 更多