javascript - Bootstrap 模式内部的表单不更新 mysql 中的值

标签 javascript php mysql twitter-bootstrap sql-update

我的页面中有一个表格,显示有关特定请求的数据。 enter image description here

当我单击按钮“添加 Cedula 编号”时,它会显示 Bootstrap 模式。在它里面,有一个形式。 enter image description here

ID 中的值 14 是该行的 ID,它来自以下代码:

<td class=" ">
    <button class="btn btn-primary btn-xs" id="<?php echo $data['idPerson'];?>" data-toggle="modal" data-target="#myModal"> Add Cedula Number </button>
</td>

现在,为了在模式中传递值,我使用了这段代码:

<script>
    $('#myModal').on('show.bs.modal', function (e) {
        $(this).find('.modal-body').html('   <div class="form-group"><label class="col-sm-3 control-label">ID</label><div class="col-sm-9"><input type="text" value = ' + e.relatedTarget.id +' class="form-control" id="person_id" name="person_id" readonly="readonly"></div></div>          <div class="form-group"> <label class="col-sm-3 control-label">Date</label><div class="col-sm-9"><input type="date" readonly="readonly" class="form-control" id="cedula_date" value="<?php echo date("Y-m-d");?>" name="cedula_date"></div></div>           <div class="form-group"> <label class="col-sm-3 control-label">Cedula Number</label><div class="col-sm-9"><input type="number" class="form-control" id="cedula_number" name="cedula_number"/></div></div>' );
    })
</script>

这是我的模态代码:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span aria-hidden="true">&times;</span>
                    <span class="sr-only">Close</span>
                </button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
            </div>
            <form id="addCedula" action="paid_cedula.php" class="form-horizontal calender" name = "addCedula" enctype="multipart/form-data" method="post" role="form">
            <div class="modal-body"></div>
            <div class="modal-footer" style="margin:0;">
            <button type="button" class="btn btn-default" 
                            data-dismiss="modal">Close</button>
            <button id="send" type="submit" class="btn btn-success" name="addCedula">Save Record</button>
             </div>
             </form>
        </div>
    </div>
</div>

我的 php 代码是这样的:

<?php
    include 'config.php';
        if(isset($_POST['addCedula'])){
        $id = $_POST['person_id'];
        $date = $_POST['cedula_date'];
        $number = $_POST['cedula_number'];                  
        $sql = mysqli_query($conn, "UPDATE person SET dateOfCedulaPayment='$date' AND cedulaNumber='$number' WHERE idPerson='$id';");
        mysqli_close($conn);                    
        }   
?>

几个小时以来,我一直在努力寻找错误。我真的找不到在哪里。该值不会在数据库中更新。我哪里做错了?非常感谢您的帮助。谢谢。

最佳答案

@Fred 的回答解决了问题(更新查询错误),这是我的 2 美分

这个脚本将数据传递给模态是矫枉过正的。

<script>
$('#myModal').on('show.bs.modal', function (e) {
    $(this).find('.modal-body').html('   <div class="form-group"><label class="col-sm-3 control-label">ID</label><div class="col-sm-9"><input type="text" value = ' + e.relatedTarget.id +' class="form-control" id="person_id" name="person_id" readonly="readonly"></div></div>          <div class="form-group"> <label class="col-sm-3 control-label">Date</label><div class="col-sm-9"><input type="date" readonly="readonly" class="form-control" id="cedula_date" value="<?php echo date("Y-m-d");?>" name="cedula_date"></div></div>           <div class="form-group"> <label class="col-sm-3 control-label">Cedula Number</label><div class="col-sm-9"><input type="number" class="form-control" id="cedula_number" name="cedula_number"/></div></div>' );
})

所有你需要的是改变id="<?php echo $data['idPerson'];?>"data-id="<?php echo $data['idPerson'];?>"和下面的 3 到 4 行脚本做同样的工作。

$(document).ready(function(){
    $('#myModal').on('show.bs.modal', function (e) {
        var id = $(e.relatedTarget).data('id');
        alert(id);
        $("#person_id").val(id);
     });
});

模态 HTML

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <span aria-hidden="true">&times;</span>
                    <span class="sr-only">Close</span>
                </button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
            </div>
            <form id="addCedula" action="paid_cedula.php" class="form-horizontal calender" name = "addCedula" enctype="multipart/form-data" method="post" role="form">
                <div class="modal-body">
                    <div class="form-group">
                        <label class="col-sm-3 control-label">ID</label>
                        <div class="col-sm-9">
                            <input type="text" value = "" class="form-control" id="person_id" name="person_id" readonly="readonly">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">Date</label>
                        <div class="col-sm-9">
                            <input type="date" readonly="readonly" class="form-control" id="cedula_date" value="<?php echo date("Y-m-d");?>" name="cedula_date">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">Cedula Number</label>
                        <div class="col-sm-9">
                            <input type="number" class="form-control" id="cedula_number" name="cedula_number"/>
                        </div>
                    </div>
                </div>
            <div class="modal-footer" style="margin:0;">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button id="send" type="submit" class="btn btn-success" name="addCedula">Save Record</button>
            </div>
            </form>
        </div>
    </div>
</div>

关于javascript - Bootstrap 模式内部的表单不更新 mysql 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34695334/

相关文章:

mysql 对状态字段进行分组

mysql - 外键的效率如何?

javascript - 使用 Javascript 隐藏 iPhone 的键盘

php - 如何通过 docker-php-ext-install 为 php 安装扩展?

php - 为什么这样做? (php 点符号)

php - 如果一行不为 null 且不为空,如何显示它?

sql - SQL中如何嵌套select语句?

javascript - Jquery array.push() 不工作

javascript - 更改嵌入推文的最大宽度

javascript - 导航折叠时 Bootstrap 左品牌列表奇怪的定位