codeigniter 使用CI4从数据库表中删除行,它始终删除最后一行[已关闭]

u7up0aaq  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(154)

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
12小时前关门了。
Improve this question
我正在制作一个网络应用程序,它是Kamar(房间)的CRUD。我正在进行删除功能,我遇到了这个问题,当我点击删除按钮时,它可以工作,但它总是只删除最后一行。例如,当我删除这里的数字1时,它会删除我的数字2。

这是我的视图代码

<div class="card-body">
            <table class="table table-striped">
                <thead>
                    <tr>
                        <th>No      </th>
                        <th>No Kamar        </th>
                        <th>Nama Kamar      </th>
                        <th>Jenis Kamar     </th>
                        <th>Kapasitas       </th>
                        <th>Fasilitas</th>
                        <th>Opsi</th>
                    </tr>
                </thead>
                <tbody>
                    <?php $i = 1;?>
                    <?php foreach ($kamar as $row) :?>
                    <tr>
                        <td scope="row"><?= $i; ?></td>
                        <td><?=$row['no_kamar']; ?></td> 
                        <td><?=$row['nama_kamar']; ?></td>
                        <td><?=$row['jenis_kamar']; ?></td>
                        <td><?=$row['kapasitas']; ?></td>
                        <td><?=$row['fasilitas']; ?></td>
                        <td>
                        <button type="button" data-toggle="modal" data-target="#modalHapus" id="btn-hapus" class="btn btn-sm btn-danger" data-id="<?= $row['id']; ?>"> <i class="fa fa-trash-alt"></i> </button>
                        </td>
                    </tr>
                    <?php $i++;?>
                    <?php endforeach;?>
                </tbody>
            </table>
            </div>
        </div>
</div>
</div> 
<!-- Modal -->
<div class="modal fade" id="modalHapus">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
        <form action="<?= base_url('kamar/hapus'); ?>" method="post">
                <div class="modal-body">
                    Apakah anda yakin ingin menghapus data ini?
                    <input type="hidden" id="idKamar" name="idKamar" value="<?= $row['id']; ?>">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Yakin</button>
                </div>
        </div>
        </form>
    </div>
</div>

这是我的模型代码

<?php

namespace App\Models;

use CodeIgniter\Model;

class M_Kamar extends Model
    public function hapus($id)
    {
    return $this->db->table('kamar')->delete(['id' => $id]);
    }
}

这是我的控制器代码

<?php

namespace App\Controllers;

use CodeIgniter\Controller;
use App\Models\M_Kamar;

class Kamar extends Controller
{
    {
    public function hapus()
    {
    $model = new M_Kamar();
    
    $id = $this->request->getPost('idKamar');
    $model->hapus($id);

    session()->setFlashdata('message', 'Dihapus!');
    return redirect()->to('/kamar');
        
    }
}

我的页脚也有这样的代码

<script>
    $(document).on('click', '#btn-hapus', function () {
  $('.modal-body #idSiswa').val($(this).data('id'));
})

我试着研究了几个小时,对所有文件做了很多修改,但这是唯一有效的,即使它从最后一行删除。请告诉我我遗漏了什么。

egdjgwm8

egdjgwm81#

不好意思,是我的js脚本出错了,我没有修改id

<script>
    $(document).on('click', '#btn-hapus', function () {
  $('.modal-body #idSiswa').val($(this).data('id'));
})

<script>
    $(document).on('click', '#btn-hapus', function () {
  $('.modal-body #idKamar').val($(this).data('id'));
})
'''

相关问题