簡體   English   中英

從引導模式形式更新數據庫

[英]Updating database from bootstrap modal form

參考我以前的問題>將php echo $ row數據顯示為引導模式形式

當我用$(".saveContact").attr('data-id', result[0]['id']);單擊行編輯按鈕時,我已經設置了“ SAVE”按鈕的數據ID $(".saveContact").attr('data-id', result[0]['id']);

在用於#editForm提交的jQuery中,我已通過var uid = $(".saveContact").attr('data-id');檢索到ID var uid = $(".saveContact").attr('data-id'); 並將其傳遞給updateContact.php ,但是當我單擊“保存”按鈕時,什么也沒有發生,並且模式仍然保持打開狀態。 我可以知道是否未正確傳遞ID或我的UPDATE語句在更新數據庫中不正確嗎?

table.php模態

<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<form class="form-horizontal" method="POST" id="editForm" role="form">
<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
    <h4 class="modal-title" id="myModalLabel">Edit Contact</h4>
  </div>
  <div class="modal-body">
                <div class="form-group animated fadeIn">
                    <label for="nameInput" class="col-sm-2 control-label">Name</label>
                    <div class="col-sm-10">
                    <input type="name" name="name" class="form-control" id="nameInput" placeholder="Name" required>
                    </div>
                </div>

                <div class="form-group animated fadeIn">
                    <label for="companyInput" class="col-sm-2 control-label">Company</label>
                    <div class="col-sm-10">
                    <input type="company" name="company" class="form-control" id="companyInput" placeholder="Company" required>
                    </div>
                </div>

                <div class="form-group animated fadeIn">
                    <label for="posInput" class="col-sm-2 control-label">Position</label>
                    <div class="col-sm-10">
                    <input type="position" name="position" class="form-control" id="posInput" placeholder="Position/Job Title">
                    </div>
                </div>

                <div class="form-group animated fadeIn">
                    <label for="contactInput" class="col-sm-2 control-label">Contact Number</label>
                    <div class="col-sm-10">
                    <input type="number" name="contact" class="form-control" id="contactInput" placeholder="Office/Mobile Number" data-error="Please enter a valid mobile number" required>
                    </div>
                </div>

                <div class="form-group animated fadeIn">
                    <label for="emailInput" class="col-sm-2 control-label">Email</label>
                    <div class="col-sm-10">
                    <input type="email" name="email" class="form-control" id="emailInput" placeholder="Email Address">
                    </div>
                </div>

                <div class="form-group animated fadeIn">
                    <label for="genderInput" class="col-sm-2 control-label">Gender</label>
                    <div class="col-sm-10">
                    <input type="gender" name="gender" class="form-control" id="genderInput" placeholder="Male/Female">
                    </div>
                </div>
                    <div class="form-group">
                <input type="hidden" name="id" class="form-control" id="idInput" placeholder="ID">
                </div>
                </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button id="editContact" type="submit" class="saveContact btn btn-primary" data-id="">Save</button>
  </div>
</div>
</form>
</div>
</div>

在此處輸入圖片說明

jQuery提交表單

$("#editForm").submit(function(e){
e.preventDefault();
var uid = $("#idInput").val();
var name = $("#nameInput").val();
var company = $("#companyInput").val();
var position = $("#posInput").val();
var contact = $("#contactInput").val();
var email = $("#emailInput").val();
var gender = $("#genderInput").val();

var dataForm = 'name=' + name + '&company=' + company + '&position=' + position + '&contact=' + contact + '&email=' + email + '&gender=' + gender + '&id=' + uid;

$.ajax({
    type: 'POST',
    url: '../admin/dataprocess/updateContact.php',
    data: dataForm,
    success: function(html){
        if(html == "success"){
            $('#contactsTable').dataTable().reload();
            $('#editModal').modal('toggle');
        }
    }
    });

});

updateContact.php

<?php
include("dbconnect.php");

$name = $_POST['name'];
$company = $_POST['company'];
$position = $_POST['position'];
$contact = $_POST['contact'];
$email = $_POST['email'];
$gender = $_POST['gender'];
$id = $_POST['id'];

$stmt = $link->prepare("UPDATE businesscontact SET name = ?, company = ?, position = ?, phone = ?, email = ?, gender = ? WHERE id = $id");
$stmt-> bind_param("ssssss", $name, $company, $position, $contact, $email, $gender);
if($stmt->execute()){
    echo "success";
}else{
    echo(mysqli_error($link);
}


mysqli_close($link);
?>

如我在評論中所述;

echo(mysqli_error($link); // <- theoretically missing a )

由於缺少括號,導致此處出現錯誤。

@ Fred-ii-感謝您指出,確實是導致更新無法正常進行。 –凱登”

無論如何,您甚至都不需要在這里“回聲”。

只需使用以下內容,這就是您所需要的。 它將自行觸發“回聲”錯誤:

mysqli_error($link);

由於“ echo”是一種語言構造,因此不需要括號。

錯誤報告將在這里為您提供幫助。

暫無
暫無

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

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