在PHP MVC中使用bootstrap模式编辑数据

00jrzges  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(87)

现在我只是在学习php native中的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数据一起显示。我希望有人能好心地告诉我改进我的代码。- 谢谢-谢谢

tyky79it

tyky79it1#

我用你的代码做了一个快速测试。
我发现的第一个问题是,你正在使用错误的选择器收听 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">

相关问题