php-无法在codeigniter中按类别明智地过滤数据

这个问题已经在这里有了答案:            >            What is the difference between single-quoted and double-quoted strings in PHP?                                    10个
用URL进行PHP数据过滤

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

我像下面那样传递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();
    }

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

解决方法:

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

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

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

代替此行,写成类似下面的行

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

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

上一篇:php-CodeIgniter:where子句中的情况


下一篇:php-CodeIgniter中的图像处理