我是codeigniter的新手。我需要一些帮助来解决我的问题。
所以我有一个表填充了我从数据库获取的数据(只显示类别“no_registrasi”的最后一个时间戳)。并且“Selesai”中有一个选项可以删除html表中的行而不删除数据库中的行。我已经试图找到解决方案,但我不知道该怎么做。
这是我的表格html
<table id="tabel-pas" class="table table-striped table-bordered dt-responsive wrap" cellspacing="0" width="100%">
<thead>
<tr>
<th>Waktu</th>
<th>No. Registrasi</th>
<th>No. Rekam Medis</th>
<th>Nama Dokter</th>
<th>Nama Pemilik</th>
<th>Nama Hewan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
foreach($daftar_inap_aktif as $row){
echo "<tr>";
echo '<td>'.$row->waktu.'</td>';
echo "<td>".$row->no_registrasi."</td>";
echo "<td>".$row->no_rm."</td>";
echo "<td>".$row->username."</td>";
echo "<td>".$row->nama_pemilik."</td>";
echo "<td>".$row->nama_hewan."</td>";
echo '<td>';
echo '<a href="linktoforminap?id='.$row->id.'">Tambah</a> | <a href="#">Selesai</a>';
echo'</td>';
echo"</tr>";$no++;
}
?>
</tbody>
</table>
这是我的模特
function daftar_inap_aktif()
{
$this->db->select('*');
$this->db->select_max('waktu');
$this->db->from('inputrminap');
$this->db->group_by('no_registrasi');
$this->db->order_by('waktu', 'DESC');
$query = $this->db->get();
return $query->result();
}
这是我的控制器
function daftar_inap()
{
$data['daftar_inap_aktif'] = $this->rekammedis_model->daftar_inap_aktif();
$this->load->view('daftar_inap_view', $data);
}
答案 0 :(得分:1)
我不确定您要完成什么,您的意思是删除该特定会话的那一行或永久删除该行,直到管理员再次显示该行。 让我试一试。
**暂时删除它(隐藏)..在这种情况下我会做什么:
您的观看代码:
<a href="<?= base_url().'some_controller/some_method/'.$id; ?>">Selesai</a>';
// Considering that you have base url setup and you have id of that row.
然后在Controller:
Public function some_method(){
$id = $this->uri->segment(3);
$this->some_model->hide_rows_with_id($id);
redirect('url_for_that_view');
}
最后模特:
function hide_rows_with_id($id)
{
$this->db->select('*');
$this->db->select_max('waktu');
$this->db->from('inputrminap');
$this->db->where('id !=', $id); // Added this
$this->db->group_by('no_registrasi');
$this->db->order_by('waktu', 'DESC');
$query = $this->db->get();
return $query->result();
}
这只是一个想法,如果“id”是一个数组,你可能想要为模型添加更多代码。
当然,如果从头开始重新打开页面,则会再次显示所有结果。要永久隐藏它,您可以创建一个名为“hidden”的新列,如果通过视图隐藏,则插入“1”,然后在模型中:
$this->db->where('hidden !=', 1);
答案 1 :(得分:0)
为您拥有的每一行添加唯一ID,并将其与您拥有的href链接
例如HTML:
<tr id="row-1">
<td>xx</td>
<td>xx</td>
<td>xx</td>
<td>xx</td>
<td>xx</td>
<td>xx</td>
<td><a href="#" class="del_row" data-row-id="1">Delete</a></td>
</tr>
然后在你的javascript代码中添加如下内容:
$('.del_row').on('click', function (e) {
e.preventDefault();
var $rowId = $(this).data('row-id');
$('#row-'+$rowId).remove();
});
答案 2 :(得分:0)
以便 保留额外的列调用status
。当其有效时将其设置为0
,并将其设置为1
。
因此,在您加载数据的查询中,您必须添加新的where
子句。
WHERE status=0
注意:将
status
列设置为int或boolen。