获取搜索结果的最佳方法是对'f_name'`和'l_name'进行组合搜索
目前,f_name
和l_name
在单独搜索时会提取搜索结果。但是,在一个搜索查询中合并f_name
和l_name
不会产生任何结果。梅伯我的经营者错了吗?
请参阅代码的sql部分。
$search = filter_input(INPUT_POST,'search',FILTER_CALLBACK,array('options'=>'alpha_num'));
$name = (@$_GET['fname'])?(($_GET['fname'] == 'asc')?('fname=desc'):('fname=asc')):('fname=asc');
$age = (@$_GET['age'])?(($_GET['age'] == 'asc')?('age=desc'):('age=asc')):('age=asc');
$iso = (@$_GET['iso'])?(($_GET['iso'] == 'asc')?('iso=desc'):('iso=asc')):('iso=asc');
$org = (@$_GET['org'])?(($_GET['org'] == 'asc')?('org=desc'):('org=asc')):('org=asc');
$csc = (@$_GET['csc'])?(($_GET['csc'] == 'asc')?('csc=desc'):('csc=asc')):('csc=asc');
if(!empty($search)) {
$results = $wpdb->get_results("SELECT * FROM `wp_plegde` WHERE `active` = '1' AND `delete` = '0' AND (`f_name` LIKE '%$search%' OR `l_name` LIKE '%$search%' OR `age` LIKE '%$search%' OR `i_shout` LIKE '%$search%' OR `org_name` LIKE '%$search%' OR `city` LIKE '%$search%' OR `state` LIKE '%$search%') ORDER BY f_name asc", ARRAY_A);
} else {
$results = $wpdb->get_results("SELECT * FROM `wp_plegde` WHERE `active` = '1' AND `delete` = '0' ".orderBy(), ARRAY_A);
}
答案 0 :(得分:0)
假设用于过滤输入的函数alpha_num
只保留字符和数字,如果搜索两个单词并且没有l_name或f_name,则$search
变量等于RobynWeber
符合搜索条件。
根据您希望搜索的工作方式,您可能希望将$search
拆分为单独的单词,然后使用MySQL LIKE IN()?