簡體   English   中英

引導模態內部的表單不更新mysql中的值

[英]Form inside bootstrap modal not updating values in mysql

我的頁面中有一個表格,其中顯示有關特定請求的數據。 在此處輸入圖片說明

當我單擊“添加Cedula號”(是一個按鈕)時,它顯示了一個引導程序模態。 在里面,有一種形式。 在此處輸入圖片說明

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);                    
        }   
?>

我已經嘗試尋找錯誤已有幾個小時了。 我真的似乎找不到位置。 該值在數據庫中不會更新。 我哪里做錯了? 您的幫助將不勝感激。 謝謝。

您的查詢不正確。 這不是UPDATE的工作方式。 您需要使用逗號,而不是AND邏輯運算符http://dev.mysql.com/doc/en/logical-operators.html

UPDATE person SET dateOfCedulaPayment='$date', cedulaNumber='$number' WHERE idPerson='$id';

參考:

檢查查詢中的錯誤將觸發語法錯誤:

旁注:要查看您的查詢(UPDATE)是否確實成功,請使用mysqli_affected_rows()

否則,您可能會得到誤報。

諾塔:

您當前的代碼可以進行SQL注入 使用准備好的語句 ,或使用帶有准備好的語句的 PDO

@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'];?>"就是將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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM