CodeIgniter - sql只返回第一个字母

时间:2013-01-25 04:15:25

标签: php mysql codeigniter

我正在为我正在构建的网站创建一个词汇表页面的目录。因此,当您单击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');

所以,我一直在尝试让类似功能正常工作。要将标题中的第一个字母与我在用户点击链接时输入网址的字母相匹配。

有任何帮助吗?我是否喜欢这样的条款?我以前从未真正做过。

2 个答案:

答案 0 :(得分:6)

我相信你需要改变一行:

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

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

答案 1 :(得分: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%'

You can see the codeIgniter Active Record Page