PHP&MySQL&JS可编辑表不会更新记录

时间:2019-12-22 22:27:59

标签: javascript php html sql

因此,我尝试使用表来更新数据库中的某些记录,但是每次单击更新时,它将无法正常工作,并且不会执行任何操作。以下代码的一部分是在另一个主题中找到的,但是它不完整,因此我添加了一些其他内容。

Js脚本

$(function(){

    $("#loading").hide();
    var message_status = $("#status");
    $("td[contenteditable=true]").blur(function(){
        var field_userid = $(this).attr("id") ;
        var value = $(this).text() ;



        $.post('update.php' , field_userid + "=" + value, function(data){



            if(data != '')
            {
                message_status.show();
                message_status.text(data);
                //hide the message
                setTimeout(function(){message_status.hide()},1000);
            }
        });
    });




});

这是从数据库中获取行的表,但是除更新外,其他所有功能都可以使用。

HTML和PHP

<form method="post" action="update.php">
        <div class="col-sm-12">
            <div class="table-responsive">
                <table class="table table-striped table-dark">
                <tr bgcolor="#df4662" style="color:#FFFFFF;">
                    <td>ID</td>
                    <td>Nickname</td>
                    <td>Name</td>
                    <td>Rank</td>
                </tr>

            <?php
                while($row = mysqli_fetch_array($result)) {
            ?>

                <tr>
                    <td contenteditable="true" id="id:<?php echo $row["id"]; ?>"><?php echo $row["id"]; ?></td>
                    <td contenteditable="true" id="username:<?php echo $row["username"]; ?>"><?php echo $row["username"]; ?></td>
                    <td contenteditable="true" id="name:<?php echo $row["steamid"]; ?>"><?php echo $row["steamid"]; ?></td>
                    <td contenteditable="true" id="ranks:<?php echo $row["ranks"]; ?>"><?php echo $row["ranks"]; ?></td>
                </tr>
            <?php
            }
            ?>
                </table>

</div>
</div>
</form>

出现一些错误后,我已经拥有了一个清晰的error_logs,但是现在即使按了更新按钮,我也没有收到任何错误。

update.php

<?php  


include '../database.php'


?>

<?php
if(!empty($_POST))
{

    foreach($_POST as $field_name => $val)
    {
        $field_id = strip_tags(trim($field_name));

        $split_data = explode(':', $field_id);
        $id = $split_data[1];
        $field_name = $split_data[0];
        if(!empty($id) && !empty($field_name) && !empty($val))
        {

            $affected_rows = mysqli_query($mysqli,"UPDATE users SET $field_name = '$val' WHERE id = $id");
            echo $affected_rows;

            echo "Updated";
        } else {
            echo "Invalid Request";
        }
    }
} 

else {
    echo "Invalid Requests";
}
?>

编辑:感谢萨姆,现在的问题只是记录根本不会更新

0 个答案:

没有答案