我创建了一个插件,它从db表中提取记录。现在我想将记录显示在页面中。我正在尝试使用标签但无法使其正常工作。我怎么能这样做?
这是详细信息:
插件
class Plugin_News extends Plugin
{
function getNewsDetails()
{
$this->load->model('news/news_m');
$result = $this->news_m->getNews();
return $this->attribute('result',$result);
}
}
模型
public function getNews()
{
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;
if($id > 0 )
{
$where = "WHERE id = $id";
}else{
$where = " ";
}
$sql_query =" SELECT
id,
news_title ,
news_description ,
FROM default_news
$where";
$query = $this->db->query($sql_query);
return $query->row();
}
以下是我试图称之为
的方式{{ News:getNews }}
<li><a href = "http://localhost/lc/index.php/newsdetail?id={{ id }}">{{ news_title }}</a></li>
{{ /News:getNews }}
并在页面newsdetails中显示单个记录
<tbody>
<tr>
<td>{{ News:getNewsDetails news_title}} </td>
</tr>
<tr>
<td>{{ News:getNewsDetails description }}</td>
</tr>
</tbody>
它不起作用,我无法理解正确的syntex,并且在文档中找不到任何内容
答案 0 :(得分:1)
经过一番研究后我发现了这个替代方案 在模型中返回此
return $query->result();
但查询应限制为1
SELECT id,news_title , news_description ,FROM default_news $where limit 1
在页面中只需创建一个循环来显示内容
{{ News:getNewsDetails}}
<tbody>
<tr>
<td>{{ title }}</td>
</tr>
<tr>
<td>{{ description }}</td>
</tr>
</tbody>
{{ /News:getNewsDetails}}
我知道这并不完美,但这符合我的要求。
答案 1 :(得分:0)
在您的模型中更快捷的方式
您可以在模型中使用此行
public function getNews()
{
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;
if($id > 0 )
{
$where = "id = $id";
}else{
$where = "";
}
return $this->db->select('id, news_title , news_description')
->from('news')->where($where)->get()->row();
}