我想在不同用户的仪表板中显示公告。我想做的是将它显示在仪表板中,用户可以在其中永久关闭仪表板中的公告,但发生的情况是,当某个用户关闭仪表板中的公告选项卡时,所有公告都在同一个正在删除用户类型。那么你能帮我弄清楚我应该使用什么方法吗?谢谢!
查看
<div class="clearfix"></div>
<?php
if($announcements = $this->Bid_Model->fetchItems('announcements')):
foreach ($announcements as $announce):
if($announce->user_type == 6){?>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>Announcement</h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"></a>
</li>
<li><a href="<?=base_url()?>Admin/deleteAnnouncement/<?=$announce->announcement_id?>" class="close-link"><i class="fa fa-close"></i></a>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content">
<img src="<?php echo base_url().'uploads/';?>announcements/<?=$announce->image;?>" height="500" width="700">
<h4><?=$announce->title?></h4>
<h4><?=$announce->content?></h4>
<div class="ln_solid"></div>
<!-- modals -->
</div>
</div>
</div>
</div>
<?php } endforeach; endif; ?>
<!-- /modals -->
<br />
Controller
public function announceSubmit(){
$this->session->userdata('user_data');
$id = $this->session->userdata('user_id');
$title = $this->input->post('title', true);
$users = $this->input->post('users', true);
$content = $this->input->post('descr', true);
$config['upload_path'] = './uploads/announcements/';
$config['allowed_types'] = 'jpg|png|jpeg';
$config['max_size'] = '25000';
$this->load->library('upload',$config);
if(!$this->upload->do_upload('image-source')){
print_r($this->upload->display_errors());
}else{
$announce_image = $this->upload->data('file_name');
$data = array(
'title' => $title,
'user_type' => $users,
'content' => $content,
'image' => $announce_image,
'user_id' => $id
);
$this->Bid_Model->insertItem('announcements', $data);
redirect('dashboard');
}
}
public function deleteAnnouncement(){
$this->Bid_Model->updateItem('announcements',['user_type' => 0],['announcement_id'=>$this->uri->segment(3)]);
redirect('dashboard');
}
模型
function insertItem($table, $data = NULL){
$this->db->insert($table, $data);
}
function insertItems($table,$data = array()){
$this->db->insert_batch($table, $data);
}
function updateItem($table, $data, $var = NULL){
if($var != NULL){
$this->db->where($var);
}
$this->db->update($table, $data);
}
最佳答案
我假设您将用户相关数据存储在 session 中,所以
Controller :
public function deleteAnnouncement() {
$this->Bid_Model->updateItem('announcements', ['user_type' => 0], ['announcement_id' => $this->uri->segment(3), 'user_id' => $this->session->userdata('user_id')]);
redirect('dashboard');
}
关于php - 使用 codeigniter 在每个用户类型的用户仪表板中显示公告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897278/