Php 按第一个字符筛选列值?
这就是我到目前为止所做的Php 按第一个字符筛选列值?,php,mysql,sql,database,Php,Mysql,Sql,Database,这就是我到目前为止所做的 $filtered_results = array(); $result = $this->db ->select('name') ->from('user') ->get() ->result_array(); foreach($result as $name) { if($name[0]=='a')
$filtered_results = array();
$result = $this->db
->select('name')
->from('user')
->get()
->result_array();
foreach($result as $name)
{
if($name[0]=='a')
{
filtered_results[] = $name;
}
}
如果我的表包含大量行,那么上面的代码在逻辑上浪费了太多的时间来处理所有结果。因此,另一种方法是只直接检索以“a”作为$name[0];”的结果;。这可能吗
->where('name'.[0],'a')
这将是一个开始:
例1:
SELECT `name` FROM `user` where `name` like 'a%'
例2:马克B
SELECT `name` FROM `user` WHERE LEFT(`name`, 1) = 'a'
这将是一个开始:
例1:
SELECT `name` FROM `user` where `name` like 'a%'
例2:马克B
SELECT `name` FROM `user` WHERE LEFT(`name`, 1) = 'a'
... 其中LEFTname,1='a'?请解决这个问题。这不是列名,而是列值。我的表中有一个列名,在那里我得到了结果。$name来自foreach,将检索到的结果显示为$name。。。。其中LEFTname,1='a'?请解决这个问题。这不是列名,而是列值。我的表中有一个列名,在那里我得到了结果。$name来自foreach,将检索结果显示为$name。“a%”是否意味着第一个字符是a,而%是字符串的其余字符。@user3205047,是的,但我建议您使用Marc B编写的内容,我会添加它。是的。%是一个通配符。a%表示以a开始,或%a表示以a结束。“%a%”表示包含……这两个都是我想要的,尽管我想问一下,哪一个更好。或者哪种查询速度更快。我需要尽可能地减少装载时间以获得答案。。。我需要一个过滤器的第一个字母的应用程序使用WebSQL数据库。。。“a%”选项运行良好,但Marc B抛出错误。。。因此,如果有人要使用WebSQL,第一个选项是要选择的…a%是否意味着第一个字符是a,而%是字符串的其余字符。@user3205047,是的,但我建议您使用Marc B编写的内容,我会添加它。是的是一个通配符。a%表示以a开始,或%a表示以a结束。“%a%”表示包含……这两个都是我想要的,尽管我想问一下,哪一个更好。或者哪种查询速度更快。我需要尽可能地减少装载时间以获得答案。。。我需要一个过滤器的第一个字母的应用程序使用WebSQL数据库。。。“a%”选项运行良好,但Marc B抛出错误。。。因此,如果有人将使用WebSQL,第一个选项是选择。。。