用多个词进行Php搜索
因此,我定义了一个函数,用于从DB中搜索并将结果传递给ajax用多个词进行Php搜索,php,mysql,wordpress,Php,Mysql,Wordpress,因此,我定义了一个函数,用于从DB中搜索并将结果传递给ajax function do_search() { $search=$_POST['dname']; global $wpdb; $sql="SELECT * FROM employee WHERE `firstname` LIKE '%{$search}%' OR `lastname` LIKE '%{$search}%' OR `department`LIKE '%{$search}%' OR `phone`
function do_search() {
$search=$_POST['dname'];
global $wpdb;
$sql="SELECT * FROM employee WHERE `firstname` LIKE '%{$search}%' OR `lastname` LIKE '%{$search}%' OR `department`LIKE '%{$search}%' OR `phone` LIKE '%{$search}%' OR `job_title` LIKE '%{$search}%' OR `cell_phone` LIKE '%{$search}%' OR `image`LIKE '%{$search}%' OR `email` LIKE '%{$search}%' OR `address` LIKE '%{$search}%' OR `room` LIKE '%{$search}%';";
$result2=$wpdb->get_results($sql);
echo json_encode($result2);
wp_die();
}
但我的问题是它只能用一个词。我尝试用“”分解$u POST值。然后进行foreach并构建多个查询,比如$query[i],但我不能得到任何响应
当回显结果时,如何实现这一点?然后它回显结果,将每个单词与这些字段条目进行比较?您可以使用简单的“技巧”,而不是分解搜索查询并生成大量条件:
别忘了退出输入或参数化查询。不清楚你在问什么我现在只能回显单个单词搜索。多词查询没有任何结果。
$search = $_POST['dname'];
$search = str_replace(' ', '%', $search);
$query = "SELECT * FROM yourTable WHERE col1 LIKE '%{$search}%' OR col2 LIKE '%{$search}%' ";