在 PHP 中使用引导模式编辑数据

问题描述 投票:0回答:1

现在我刚刚学习 php 本机中的 MVC 概念,当我想使用 bootstrap 模式更新数据时遇到麻烦。 这是我试图显示我的代码结构的内容:

按钮显示模式

<td class="text-center">
    <button type="button" class="btn icon btn-success edit-emp" data-id="<?= $row['id_divisi']; ?>">
</td>

我的模态:

<div class="modal fade" id="edit-emp" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form action="<?= base_url; ?>/emp/updateemp" method="POST">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalCenterTitle">
                        Edit Employee
                    </h5>
                </div>
                <div class="modal-body">
                    <div class="col-md-12">
                        <div class="form-group row align-items-center">
                            <div class="col-lg-2 col-3">
                                <label class="col-form-label" for="employee_name">Employee name</label>
                            </div>
                            <div class="col-lg-10 col-9">
                                <input type="text" id="id_emp" name="id_emp">
                                <input type="text" id="emp_name" class="form-control" name="emp_name" />
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="submit" class="btn btn-success ms-1">
                        save
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

这是我的 js :

$(document).ready(function() {
    $(".edit-dvs").on("click", function() {
        var id = $(this).attr("data-id")
        $.ajax({
            url: BASE_URL + '/emp/edit/' + id,
            type: "GET",
            dataType: "JSON",
            success: function(data) {
                $("#id_emp").val(data.id_emp)
                $("#emp_name").val(data.emp_namei)
                $("#edit-emp").modal("show")
            },
        })
    })
})

这是我的 Emp EmpController 和 EmpModels :

public function edit($id)
{
    $data = $this->model('EmpModel')->getEmpById($id)->row_array();
    echo json_encode($data);
}

public function getEmpById($id)
{
    $this->db->query('SELECT * FROM ' . $this->table . ' WHERE id_emp=:id_emp');
    $this->db->bind('id_emp', $id);
    return $this->db->single();
}

根据我上面的尝试,我仍然没有成功地显示模式以及发送的 id_emp 数据。我希望有人能告诉我改进我的代码。谢谢你。

php bootstrap-modal
1个回答
1
投票

我用你的代码做了一个快速测试。
我发现的第一个问题是您正在使用错误的选择器收听 onclick,您有:

 $(".edit-dvs").on("click", function() {

但是你的按钮没有那个类:

<button type="button" class="btn icon btn-success edit-emp" data-id="<?= $row['id_divisi']; ?>">

解决这个问题后,模式就开始工作了。

第二个问题是,在您的表单中,您省略了 $base_url 变量中的 $ 字符,您有:

<form action="<?= base_url; ?>/emp/updateemp" method="POST">
© www.soinside.com 2019 - 2024. All rights reserved.