2016-11-14 29 views
0

我試圖使用CodeIgniter創建一個顯示一些文章的Web應用程序。 我從數據庫中提取所有文章,它們被用作預覽。 現在我想創建一個顯示單個文章的頁面。 文章的預覽顯示在/用品/,我想展現一個單一的文章中/用品/讀/ IDCodeIgniter - 單一結果

這是我的代碼:

控制器

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Articles extends CI_Controller 
{ 

    public function index() 
    {    
     $this->load->model('articles_model'); 

     $articles_data['data'] = $this->articles_model->select_articles(); 

     $this->load->view('header'); 

     $this->load->view('nav'); 

     $this->load->view('articles-content', $articles_data); 

     $this->load->view('footer'); 

    } 

    public function read() 
    { 
     //????? 
    } 

型號

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Articles_model extends CI_Model 
{ 

    public function select_articles() 
    { 
     $this->db->select('*'); 
     $this->db->from('articles'); 
     $this->db->join('authors', 'articles.id_author = authors.id_author', 'left'); 
     $this->db->join('images', 'articles.id_image = images.id_image', 'left'); 
     $query = $this->db->get(); 
     return $query->result_array(); 

    } 

} 

查看

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
?> 
<div id="content"> 
    <div id="articles"> 
     <?php foreach($data as $row){ 
     $limited_article = word_limiter($row['article_text'], 200); 
     ?> 
     <section class="article"> 
     <h2><?php echo $row['article_title'];?></h2> 
     <img class="article-image" src="<?php echo base_url('/assets/images/' . $row['image']) ;?>"> 
     <p class="info">Author: <?php echo $row['author']; ?> Date: <?php echo $row['article_data'] ?></p> 
     <p><?php echo $limited_article; ?></p> 
     </section> 
     <?php }?> 
    </div> 
</div> 

我該怎麼辦?提前致謝!

回答

0

將一個參數($id)您read($id)方法控制器:

public function read($id) { 
    $this->load->model('articles_model'); 

    $data['article'] = $this->articles_model->get_select_articles($id); 

    $this->load->view('header'); 
    $this->load->view('nav'); 
    $this->load->view('articles-single', $data); 
    $this->load->view('footer'); 
} 

在你的模型像波紋創建新方法get_select_articles()

class Articles_model extends CI_Model 
{ 
    public function get_select_articles($id){ 
     $this->db->select('*'); 
     $this->db->from('articles'); 
     $this->db->join('authors', 'articles.id_author = authors.id_author', 'left'); 
     $this->db->join('images', 'articles.id_image = images.id_image', 'left'); 
     $this->db->where('articles.id', $id); 
     $query = $this->db->get(); 
     return $query->row_array(); 
    } 
} 

的節目單篇文章的數據創建一個新的頁面articles-single.php在視圖文件夾中。我在articles-single.php中使用了$article['article_details'];查看文章詳細信息。您將使用article_details或根據您的db字段名稱的一些想法。

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
?> 
<div id="content"> 
    <div id="articles"> 
     <section class="article"> 
      <?php if($article) { ?> 
      <h2><?php echo $article['article_title'];?></h2> 
      <img class="article-image" src="<?php echo base_url('/assets/images/' . $article['image']) ;?>"> 
      <p class="info">Author: <?php echo $article['author']; ?> Date: <?php echo $article['article_data'] ?></p> 
      <p><?php echo $article['article_details']; ?></p> 
      <?php } ?> 
     </section> 
     <?php }?> 
    </div> 
</div>