嘿伙计我是 CodeIgniter
框架的初学者,我正在创建一个应用程序,我想从数据库中删除记录/行。我在视图的每一行前面创建了删除按钮,为此操作我写了一些代码,但没有用。请帮我。
这是我的 view
:
<td><?php echo anchor('dbcont/deleteinput', 'Delete', array('onclick'=>'deleteinput(\''. $row->member_id .'\');')); ?></td>
这是我的 model
:
function deletedata($id)
{
$this->db->delete('tbl_members', array('member_id' => $id));
}
这是我的 controller
:
function deleteinput($id)
{
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('user');
$this->db->select('member_id');
$id = $this->db->get('tbl_members');
$this->user->deletedata($id);
redirect('home');
}
答案 0 :(得分:0)
您在点击事件中调用了javascript函数...但是您在发布的问题中没有任何功能..
<td><?php echo anchor('dbcont/deleteinput', 'Delete', array('onclick'=>'deleteinput(\''. $row->member_id .'\');')); ?></td>
无论如何我认为你不需要javascript函数你可以在网址中传递id作为参数
试试这个,
<td><?php echo anchor('dbcont/deleteinput/'.$row->member_id, 'Delete'); ?></td>
注意:dbcont是控制器类名称
<强>更新强>
更新你的控制器...
function deleteinput($id)
{
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('user');
$this->user->deletedata($id);
redirect('home');
}
你不需要get()
和select
你控制中的任何内容......这是模型代码......你已经在deletedata
函数中执行了此操作。
$ this-&gt; db-&gt; delete()=&gt;第一个参数是表名,第二个是where子句。您还可以使用where()或or_where()函数,而不是将数据传递给函数的第二个参数。
docs此处
答案 1 :(得分:0)
试试这个......
<td><a href="javascript:delete_member(<?php echo $row->member_id ?>) > Delete</a></td>
在同一个视图文件中写这样的JavaScript函数.......
function delete_membet(member_id){
window.location.href = "<?php echo ROOT_FOLDER ?>/controller_name/delete/" +member_id ;
}
然后在控制器文件中编写如下所示的函数....
public function delete($member_id)
{
$this->model_file->delete($member_id);
redirect('home');
}
在模型文件中写一个这样的函数.........
public function delete($member_id)
{
$query = "delete from members where member_id = $member_id";
$res = $this->db->query($query);
}
答案 2 :(得分:0)
试试这个:
<a href="javascript:void(0);" onclick="deleteinput(<?php echo $row->member_id;?>);">delete</a>
在您的javascript
中使用此功能<script type="text/javascript">
var url="<?php echo base_url();?>";
function delete(id){
if (confirm("Do you want to delete?"))
window.location = url+"dbcont/deleteinput/"+id;
else
return false;
}
</script>
在控制器中
public function deleteinput($id){
$this->load->model('user');
$this->user->deletedata($id);
redirect('home');
}
在模型中
function deletedata($id){
$this->db->where('id', $id);
if($this->db->delete('tbl_members'))
return true;
else
return false;
}