无法在Codeigniter中按类别筛选数据

时间:2019-04-22 13:04:18

标签: php codeigniter filtering

使用URL进行php数据过滤

我正在开发一个在线商店,我想在此显示按类别分类的数据。但是我不能!我的代码或URL有什么问题吗?

我通过下面的网址

http://localhost/e-bookshop/users/all_books?ctg=1

我的模特:

public function get_books()
    {
        $this->db->select('*');
        $this->db->from('category');
        $this->db->join('books', 'books.categoryId = category.id');

        if(isset($_GET['ctg']))
        {
            $a = $_GET['ctg'];
            $query = $this->db->where('category.id', '$a');
            $query = $this->db->get();
            return $query->result();
        }
        $this->db->order_by('books.id', 'DESC');
        $query = $this->db->get();
        return $query->result();
    }

这不会显示任何错误,只会显示空白或不显示任何内容。我该如何解决这个问题? 谢谢。

1 个答案:

答案 0 :(得分:3)

您非常接近您的期望。我认为您的网址可以。

问题在这里。您不能传递这样的数组。您以字符串格式传递数组。对于撇号昏迷,URL无法读取您的数组。您必须更改此行。

 $query = $this->db->where('category.id', '$a');

而不是此行,就像下面的行一样写

$query = $this->db->where('category.id', $a);

我认为上面的这一行可以解决您的问题。只需复制此行即可享受。