Я создал пользовательскую таблицу, которая будет ссылаться на его сообщения, когда он отправляет сообщение.(Это работает правильно)
Итак, я пытался создать метод в codeigniter 3. Я установил его на то, где, если пользователь вошел в систему и щелкнул его имя пользователя, он покажет все свои представления,просто извлекая из таблицы его user_id, а затем перебирая его сообщения.
Ну, у меня есть две проблемы
, когда я вхожу в URL, чтобы вызвать эту функцию, она хочет получить значение дляУри.Пример: localhost / CI / controller / account, но он не будет загружаться, пока я не добавлю что-то после account (account - имя метода).
Как localhost / CI / controller / account / 9
Кроме того, эта функция, похоже, тоже не работает по какой-то причине, я не знаю, имеет ли она какое-то отношение к этому желанию получить другое значение.
Я исследовал это в течение последнего часа без удачи.
Контроллер:
public function account(){
$data['title'] = 'Your submissions';
$data['posts'] = $this->post_model->user_posts();
$this->load->view('templates/header');
$this->load->view('users/profile', $data);
$this->load->view('templates/footer');
}
//view function the post by clicking on title
public function view ($slug=NULL){
$data['post'] = $this->post_model->get_posts($slug);
$post_id = $data['post']['id'];
$data['comments'] = $this->comment_model->get_comments($slug);
if(empty($data['post'])){
show_404();
}
$data['title'] = $data['post']['title'];
$this->load->view('templates/header');
$this->load->view('posts/view', $data);
$this->load->view('templates/footer');
}
Модель:
public function user_posts (){
$usernum = $this->session->userdata('customer_id');
$this->db->order_by('created_time','DESC');
$query = $this->db->get_where('posts',array('customer_id ='=>'$usernum'));
return $query->result_array();
}
$query = $this->db->get_where('posts',array('slug'=>$slug));
return $query->row_array();
}
Просмотр:
<?php
echo $title;
foreach ($posts as $post): {
echo $post['title'];
}endforeach;
?>