嗨,我正在创建一个视图,其中将显示数据库中的记录列表以及用户选中复选框并单击“激活”按钮的框。在数据库中,一旦用户单击激活,我将为特色博客提供单独的列,这些id列应更新为1,其余列应更新为0。
视图:
<table>
<thead>
<tr>
<th scope="col">Featured Blogs</th>
<th scope="col">S.No</th>
<th scope="col">Blog Title</th>
<th scope="col">Author</th>
</tr>
</thead>
<tbody>
<?php if(isset($records) && is_array($records) && count($records)>0): ?>
<?php $i=0;foreach($records as $r):$i++;?>
<tr>
<td><input type="checkbox" name="checkbox" value="<?php echo $r->blog_id;?>"
<?php if ($r->featured_blogs == 1) { echo 'checked="checked"'; }else { echo 'disabled="disabled"'; }?> ></td>
<td class="align-center"><?php echo $i;?></td>
<td><?php echo $r->blog_title;?></td>
<td><?php echo $r->username;?></td>
</tr>
<?php endforeach ;endif;?>
</tbody>
</table>
<div class="pagination"><?php echo $links; ?></div>
<a href="<?php echo base_url();?>/blogs/active" class="button">Activate</a>
</div>
</div>
控制器:
function active()
{
$this->blogs_model->active($this->uri->segment(3));
$this->flash->success('<h2>Successfully Activated the record.<h2>');
redirect('blogs');
}
模型:
function activate($blog_id)
{
$data=array('status'=>1);
$this->db->where(array('blog_id'=>$blog_id));
$this->db->update('blogs',$data);
}
最佳答案
function active()
{
$this->blogs_model->active($this->uri->segment(3));
$this->flash->success('<h2>Successfully Activated the record.<h2>');
redirect('blogs');
}
function active($blog_id)
{
$data=array('status'=>1);
$this->db->where(array('blog_id'=>$blog_id));
$this->db->update('blogs',$data);
}
在控制器上,您调用了模型,其功能为
active($this->uri->segment(3))
但在您的模型中,您将其称为
function activate($blog_id)
你应该改变它
关于php - 无法使用Codeigniter PHP更新数据库中选定的框值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45914317/