现在,有一个搜索栏,可以在每一列中搜索您输入的术语,例如。
+--------+------------+
| name | location |
+--------+------------+
| Miley | House |
+--------+------------+
| Bob | Hotel |
+--------+------------+因此,当你搜索Miley时,你得到的是用Miley|House输出的表行,同样,如果你搜索House,你也会得到Miley|House。但是,如果我在搜索栏中输入"Miley House“,它不会输出任何内容。
代码:
<input type="text" id="search" name="search" value="" > SQL
WHERE CONCAT(id, name, department, object, description, location, room, reg_date, until_date, reason, email) LIKE '%".$search."%'如果你能帮助我就太好了:)如何用多个关键字进行搜索。
发布于 2017-01-25 15:03:37
试着这样做
SELECT CONCAT(`id`, `name`, `department`, `object`, `description`, `location`, `room`, `reg_date`, `until_date`, `reason`, `email`) as all_str FROM `tbl_name`
WHERE `all_str` LIKE '%".$search."%'发布于 2017-01-25 15:15:11
SELECT CONCAT(`id`, `name`, `department`, `object`, `description`, `location`, `room`, `reg_date`, `until_date`, `reason`, `email`) as data FROM `tablename`
WHERE name LIKE '%fieldname%' OR location LIKE '%fieldname%'发布于 2017-01-27 17:51:45
嘿,如果你想在MySql数据库中搜索数据得到更好的结果,那么你可以使用全文搜索的概念,其中你必须改变表的结构,因为全文搜索是基于全文索引的概念。
*Demo*
创建表项目( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR(200),body TEXT,FULLTEXT (title,body) //全文索引);
在文章(标题,正文)中插入值('MySQL教程‘,'DBMS代表DataBase ...'),(’如何很好地使用MySQL',‘在你经历了...之后...'),(’优化MySQL‘,’在本教程中我们将展示...'),(‘1001MySQLTricks’,'1.永远不要以根用户身份运行MySQL。2.‘),('MySQL vs.’,‘在下面的数据库比较中...'),('MySQL安全’,‘如果配置正确,MySQL ...');
在这里,如果你想得到最好的结果,那么在下面的查询中执行。SELECT title,body,MATCH (title,body)与('DBMS代表自然语言模式中的DataBase‘) all_data从按all_data排序的文章中描述限制1;
我认为这对你有帮助..
https://stackoverflow.com/questions/41845272
复制相似问题