【发布时间】:2012-07-17 14:09:17
【问题描述】:
我有一个表单,我希望用户输入一个或多个单词。然后这些词应该匹配 MySQL 数据库中的多个列。
我已经开始构建一些代码,但我卡住了。
<?php
$term = $_SESSION['session_searchstring']; //Let's say that session is John Doe
$searchterm = explode(' ',$term);
$searchFieldName = "name";
$searchCondition = "$searchFieldName LIKE '%" . implode("%' OR $searchFieldName LIKE '%", $searchterm) . "%'";
$sql = "SELECT * FROM students WHERE $searchCondition;";
echo $sql; //Echo to test what mysql_query would look like
?>
上面的代码会输出:
SELECT * FROM students WHERE name LIKE '%John%' OR name LIKE '%Doe%';
问题是我想在多个列中搜索 ($searchFieldName)。我有例如
customer_firstname
customer_lastname
我想将我的搜索字符串与两列的内容进行匹配。我将如何继续?
【问题讨论】:
-
到那时,您需要
foreach超过条款并以这种方式建立您的条件。 -
@dleiftah 你能举个例子吗?
标签: mysql forms search explode implode