[英]CodeIgniter - Single result
我正在嘗試使用CodeIgniter創建顯示一些文章的Web應用程序。 我從數據庫中提取了所有文章,它們被用作預覽。 現在,我想創建一個顯示單個文章的頁面。 文章的預覽顯示在/ articles /中 ,我想在/ articles / read / id中顯示一篇文章
這是我的代碼:
調節器
<?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>
我能怎么做? 提前致謝!
將參數( $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()
,類似於bellow:
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
以在視圖文件夾中顯示單個文章數據。 我用過$article['article_details'];
在articles-single.php
中查看文章詳細信息。 您將根據您的數據庫字段名稱使用article_details
或類似的想法。
<?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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.