2

我正在为我正在构建的网站的词汇页面创建目录。因此,当您单击 A 链接时,它将拉回所有以 A 开头的字母,依此类推。我已经完成了大部分功能,但是我无法获得正确的 sql 语句来撤回我想要的。

我正在处理这个...

$this->db->order_by("title", "asc");
$this->db->where('category', 'vocab');
$this->db->like('title', $this->uri->segment(3));
$data['query'] = $this->db->get('entries');

所以,我一直在努力让类似的功能正常工作。当用户单击链接时,将标题中的第一个字母与我在 url 中输入的字母相匹配。

有什么帮助吗?我在做类似的条款吗?我以前从未真正做过。

4

2 回答 2

6

我相信您需要更改一行:

$this->db->like('title', $this->uri->segment(3), 'after'); 

另外,请注意获得结果的方式:$this->db->get('entries')->result();

于 2013-01-25T04:19:30.923 回答
0

如果要控制通配符 (%) 的放置位置,可以使用可选的第三个参数。您的选项是“之前”、“之后”和“两者”(这是默认设置)。

$this->db->like('title', 'match', 'before'); // Produces: WHERE title LIKE '%match'
$this->db->like('title', 'match', 'after'); // Produces: WHERE title LIKE 'match%' 
$this->db->like('title', 'match', 'both'); // Produces: WHERE title LIKE '%match%'

可以看到codeIgniter Active Record Page

于 2015-07-26T11:59:13.797 回答