使用Ajax和PHP将行追加到表中

时间:2017-07-20 00:45:55

标签: php jquery json ajax

我正在尝试使用以下jQuery,Ajax和PHP向表中添加一行。我将一个JSON编码的数组返回给Ajax。

当我使用成功作为Ajax时,该行不会附加到表中,也没有警报。

如果我将成功更改为完成,则会附加行,但所有单元格都显示为“未定义”。我不确定成功函数失败的原因。

的jQuery / AJAX

$('#insert').click(function (e) {
    e.preventDefault();
    $.ajax({
        url: "Gender/process.php",
        type: "POST",
        data: $('form').serialize(),
        dataType:"json",
        success: function (strMessage) {
            alert(strMessage[0]);
            $('#pro-table').append(
                    '<tr class="row"><td>' + strMessage[0] + '</td>\n\
                <td>' + strMessage[1] + '</td>\n\
                <td>' + strMessage[2] + '</td>\n\
                <td>' + strMessage[3] + '</td>\n\
                <td>' + strMessage[4] + '</td></tr>'
                    );
            $(".front").addClass('front-transform');
            $(".back").addClass('back-transform');
        }
    });
    $("form").trigger("reset");
});

PHP

$user = mysqli_real_escape_string($con, $_POST['user']);
$gender = mysqli_real_escape_string($con, $_POST['gender']);
$description = mysqli_real_escape_string($con, $_POST['description']);

if (isset($user) && isset($gender) && isset($description) && $user != '' && $gender != '' && $description != '') {
    $insert_query = "INSERT INTO php_pro1 (user, gender, description) VALUES ('$user','$gender', '$description')";
    $rks = mysqli_query($con, "SELECT (up_votes, down_votes) FROM php_pro1 ORDER BY id DESC LIMIT 1");
    $row = mysqli_fetch_row($rks);
    if (mysqli_query($con, $insert_query)) {
        $insert = array($user, $gender, $description, $row[0], $row[1]);
        echo json_encode($insert);
    } else {
        echo mysqli_error($con);
    }
} else {
    echo 'Failed: ' . mysqli_error($con);
}

1 个答案:

答案 0 :(得分:0)

所以经过几个小时没有线索有什么问题,原来这个MySql查询中的括号引起了问题

$rks = mysqli_query($con, "SELECT (up_votes, down_votes) FROM php_pro1 ORDER BY id DESC LIMIT 1");

应该只是......

$rks = mysqli_query($con, "SELECT up_votes, down_votes FROM php_pro1 ORDER BY id DESC LIMIT 1");

解决了这个问题