Php codeigniter url链接返回相同的文章文本,而不考虑文章id

Php codeigniter url链接返回相同的文章文本,而不考虑文章id,php,codeigniter,Php,Codeigniter,我已经试着从之前在会议上问过的另一个问题中摆脱出来 但是,唉,没有爱。我对ci3x文档并不陌生,但我还没有找到任何帮助,我怀疑这里可能有不止一个问题。我已经确保适当的库、帮助程序和模型以前都包含在autoloader中。该问题与前面提到的文章中的问题相同;就引用正确的id而言,文章id URL都是完美的。但是,无论单击哪个文章链接,都会返回相同的文本 我正在从我的控制器访问文章视图页面(并传入id变量),就像这样 Articlelist.php public function view($id)

我已经试着从之前在会议上问过的另一个问题中摆脱出来 但是,唉,没有爱。我对ci3x文档并不陌生,但我还没有找到任何帮助,我怀疑这里可能有不止一个问题。我已经确保适当的库、帮助程序和模型以前都包含在autoloader中。该问题与前面提到的文章中的问题相同;就引用正确的id而言,文章id URL都是完美的。但是,无论单击哪个文章链接,都会返回相同的文本

我正在从我的控制器访问文章视图页面(并传入id变量),就像这样

Articlelist.php

public function view($id)
{
    $this->load->view('view_article');
}
 function getArticle($id)
{
    $this->db->select('*')->order_by('article_id', 'desc')->limit(1);
    $query = $this->db->query("SELECT * FROM articles ORDER BY article_id DESC LIMIT 1");
    return $query->result();

}
public function view($id)
{
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
在被引用的视图中,有一个查询应该通过其id返回单个文章文本

$query = $this->db->query("SELECT * FROM articles ORDER BY article_id DESC LIMIT 1");
然后我可以在foreach循环中使用$query->result()来访问我的内容元素。我通过两个不同的页面返回这些结果,读者可以点击链接导航

echo '<a href="articlelist/view/id='.intval($row->article_id).'">  
<font size="5" color="#0000CC">Click Here To View Article</font></a><hr>';
当点击articlelist页面上的项目时,文章内容被返回,我几乎达到了我想要的位置,但是为了连接到正确的文章id,我缺少了什么?如果评估需要任何其他信息,请索取,谢谢

更新

我返回并将一个模型进程连接到视图页面,因为它丢失了

public function view($id)
{
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
但它没有以决议的方式增加任何内容,并在此后不久被修订

更新2

感谢@JefreN和@cr05s19xx的回答-让我添加模型和相关控制器代码的说明

Article_model.php

public function view($id)
{
    $this->load->view('view_article');
}
 function getArticle($id)
{
    $this->db->select('*')->order_by('article_id', 'desc')->limit(1);
    $query = $this->db->query("SELECT * FROM articles ORDER BY article_id DESC LIMIT 1");
    return $query->result();

}
public function view($id)
{
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
Articlelist.php

public function view($id)
{
    $this->load->view('view_article');
}
 function getArticle($id)
{
    $this->db->select('*')->order_by('article_id', 'desc')->limit(1);
    $query = $this->db->query("SELECT * FROM articles ORDER BY article_id DESC LIMIT 1");
    return $query->result();

}
public function view($id)
{
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
即使应用了更新,我仍然只从URL获取内容

http://localhost/articlelist/view/id=33

无论我点击哪个文章链接

正确的查询是
SELECT*FROM article\u id=$id

在Codeigniter中,模型应该是这样写的

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

class Example_model extends CI_Model {

    public function get_article_info($id) {
        $query = $this->db->query("SELECT * FROM `articles` WHERE `article_id` = '$id'");
    // Rest of the code comes here
    }

正确的查询是
SELECT*FROM article\u id=$id

在Codeigniter中,模型应该是这样写的

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

class Example_model extends CI_Model {

    public function get_article_info($id) {
        $query = $this->db->query("SELECT * FROM `articles` WHERE `article_id` = '$id'");
    // Rest of the code comes here
    }

正如我看到的那样,您的URL是给定的

即使应用了更新,我仍然只从 网址

无论哪篇文章链接我 点击

您应该只将
33
作为id直接传递到
视图
方法旁边。 见下文:

http://localhost/articlelist/view/33
然后调用
ariclelist->view
方法

public function view($id) { ... }
还可以使用codeigniter准备的方法在此选项中编写模型查询

public function get_article_info($id) 
{
    $this->db->select()->from('articles')->where('article_id', $id);
    $query = $this->db->get();

    return $query->result_array(); 
}

查看更多信息。

如我所见,您的URL已给出

即使应用了更新,我仍然只从 网址

无论哪篇文章链接我 点击

您应该只将
33
作为id直接传递到
视图
方法旁边。 见下文:

http://localhost/articlelist/view/33
然后调用
ariclelist->view
方法

public function view($id) { ... }
还可以使用codeigniter准备的方法在此选项中编写模型查询

public function get_article_info($id) 
{
    $this->db->select()->from('articles')->where('article_id', $id);
    $query = $this->db->get();

    return $query->result_array(); 
}

查看更多信息。

出于某种原因,它开始向我指出,在返回分页结果的页面中,没有页内查询这项工作,在文章_model.php文件中处理。决定做一点创造性的重新安排

function getArticle($id)
{
    $query = $this->db->select('*')->get_where('articles', array('article_id' => $id));
    if($query->num_rows() > 0)
    {
        foreach($query->result() as $row)
        {
           $data[] = $row;
        }
           return $data;    
    }

}
之后,只需一跳、一跳,就可以实现消除页面查询上的其他链接点,这样我就可以切换到控制器中的工作代码来消除我的问题

public function view($id)
{
    $data = array();
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
aaaaaaaaaaaannnnnnnnnn dd…解决了这个问题后,分页都被阻塞了

对于将来有这个问题的人;CodeIgniter文档规定页面(通过URI段表示)的格式为:

http://domain(.*)/controller/method/arguments 
在返回的分页结果的第一页上,悬停在每个结果上时给出的URI

http://localhost  /articlelist  /view     /33 
       (domain)   (controller)  (method)  (arguments)
但是,从分页结果的第二页到最后一页,有一个额外的段

http://localhost  /articlelist  /index    /view     /33 
       (domain)   (controller)  (?????)   (method)  (arguments)
因为$config['base_url']=site_url('articlelist/index')-需要将分页结果保持在适当的位置以便显示

通过更正视图页面中列出db查询结果的borky部分(articles_list.php),可以纠正这一问题

echo'
';
(可能需要麻烦指出的是,最后一个打开的php标记在页面上没有引用的代码中被进一步关闭,对于那些将其视为候选解决方案的人来说)


感谢所有把他们的0.02美元扔出去考虑的人——帮助我找到了答案。测试了两个链接点区域中的10多个选项,并将正确的文章内容拉入浏览器中,以匹配文章id URL

出于某种原因,它开始向我指出,在返回分页结果的页面中,没有页内查询这项工作,在文章_model.php文件中处理。决定做一点创造性的重新安排

function getArticle($id)
{
    $query = $this->db->select('*')->get_where('articles', array('article_id' => $id));
    if($query->num_rows() > 0)
    {
        foreach($query->result() as $row)
        {
           $data[] = $row;
        }
           return $data;    
    }

}
之后,只需一跳、一跳,就可以实现消除页面查询上的其他链接点,这样我就可以切换到控制器中的工作代码来消除我的问题

public function view($id)
{
    $data = array();
    $data['results'] = $this->article_model->getArticle($id);
    $this->load->view('view_article', $data);
}
aaaaaaaaaaaannnnnnnnnn dd…解决了这个问题后,分页都被阻塞了

对于将来有这个问题的人;CodeIgniter文档规定页面(通过URI段表示)的格式为:

http://domain(.*)/controller/method/arguments 
在返回的分页结果的第一页上,悬停在每个结果上时给出的URI

http://localhost  /articlelist  /view     /33 
       (domain)   (controller)  (method)  (arguments)
但是,从分页结果的第二页到最后一页,有一个额外的段

http://localhost  /articlelist  /index    /view     /33 
       (domain)   (controller)  (?????)   (method)  (arguments)
因为$config['base\u url']=site\u url(