CodeIgniter Project A-Z 14 – Chức năng sửa , xóa bài viết website tin tức

0
10

[ VIDEO TUT ]

Bấm Subscribe Nhận video học mới nhất :

Chú ý: Các bạn lựa chọn video ở chế độ 720HD để xem được chất lượng hình ảnh và âm thanh tốt nhất nhé.

1.Xóa bài viết

  • Chức năng xóa bài viết ta cũng làm tương tự như chức năng xóa danh muc,ta cũng lấy id của bài viết thông qua $this->uri->segment(4) và sau đó gọi hàm delete() để tiến hành xóa bài viết.
  • Tạo hàm xoabai() trong controller baiviet_c
function xoabai()
{
  $id = $this->uri->segment(4);
  $this->Baiviet_model->delete($id);
  $this->session->set_flashdata('mess','Đã xóa thành công');
  redirect(admin_url('Baiviet_c/xembai'));
}
  • Thông báo flashdata ‘mess’ sẽ được xuất ra nếu đã xóa thành công ở view xembai.

2.Sửa bài viết

  • Tạo hàm suabai() trong controller baiviet_c,cấu trúc hàm này tương tự so với hàm suadm() trong controller dmbaiviet_c,ta cũng kiểm tra submit form và tiến hành gọi hàm update() để sửa bài viết
function suabai()
{
$id = $this->uri->segment(4);
$id = intval($id);
$info = $this->Baiviet_model->get_info($id);
$data = array();
$data['info'] = $info;

if($this->input->post())
{
$this->form_validation->set_rules('title',"Tiêu đề bài viết",'required'); 
$this->form_validation->set_rules('content',"Nội dung bài viết",'required');
$this->form_validation->set_rules('img',"Ảnh tiêu đề",'required'); 
//khi nhập liệu chính xác
if($this->form_validation->run())
{
$title = $this->input->post('title');
$content = $this->input->post('content');
$img = public_helper('user/images/').$this->input->post('img');
$cat = $this->input->post('cat');

$dulieu = array(
'tieu_de'=>$title,'noi_dung'=>$content,'hinh_anh'=>$img,'id_dm'=>$cat
);
$this->Baiviet_model->update($id,$dulieu);
$this->session->set_flashdata('mess','Đã sửa thành công');
redirect(admin_url('Baiviet_c/xembai'));
} 
}
$data['temp'] = 'admin/suabai';
$this->load->view('admin/index',$data);

}
  • View suabai.php : Ở view này ta sẽ lấy ra các giá trị trong bản ghi tương ứng với id muốn sửa và đưa vào các thẻ input,người dùng có thể sửa hoặc không.
  • Ở thẻ select danh mục tôi sử dụng if else kiểm tra xem danh mục của bài viết muốn sửa là danh mục nào thì danh mục đó sẽ có thuộc tính selected , còn lại ta vẫn đổ các danh mục khác vào như bình thường.
<div class="col-md-10"> 
 	<div class="content">
 		<div class="col-md-4 add-dm">
 			<h4 class="text-center">Sửa bài viết<font color='blue'><?php echo $this->session->flashdata('mess')?></font>
 			</h4>
		 </div>
	 <div class="clearfix"></div>
	 <form method="post">
 		<div class="form"> 
 			<table class="table">
 				<tbody>
 					<tr>
	 					<td><p>tiêu đề bài viết<?php echo form_error('title')?></p></td>
						<td><input name="title" class="form-control" type="text" value='<?php echo $baiviet->tieu_de?>'>
						</td>
 					</tr>
					<tr>
					 	<td><p>nội dung bài viết<?php echo form_error('content')?></p></td>
					 	<td><textarea name="content" class="form-control" id="" cols="30" rows="10">
					 			<?php echo $baiviet->noi_dung?></textarea></td>
 					</tr>
 					<tr>
						 <td><p>hình ảnh bài viết<?php echo form_error('img')?></p></td>
						 <td><input name="img" class="form-control" type="file" value='<?php echo $baiviet->hinh_anh?>'></td>
					</tr>
					<tr>
						 <td><p>Lựa chọn danh mục cha</p></td>
						 <td>
						 	<select name="cat" class="form-control">
								 <?php foreach($listdm as $row){
								 if($baiviet->id_dm == $row->id){?>
								   <option selected='selected' value="<?php echo $row->id?>"><?php echo $row->ten_dm?></option>
								 <?php }else
								 ?>
						 		   <option value="<?php echo $row->id?>"><?php echo $row->ten_dm?></option>
								 <?php }?>
						 	</select>
						 </td>
					</tr> 
 				</tbody></table> 
		 </div>
	 	<div class="col-md-3 form-group pull-right">
			 <input name="ok" value="saves" class="btn btn-primary btn-block" type="submit">
	 	</div>
 	</form>
 </div><!--end .content-->
</div>
<script type="text/javascript">
$(function() { 
if(CKEDITOR.instances['content']) { 
CKEDITOR.remove(CKEDITOR.instances['content']);
}
CKEDITOR.config.width = 600;
CKEDITOR.config.height = 150;
CKEDITOR.replace('content',{});
})
</script>

[ SOURCE CODE ]

Bộ video bài học codeigniter tại đây.

Tác giả : Hà Trung Vietpro

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây