0

我有一个简单的搜索查询脚本,当用户输入关键字时,会在数据库中显示与这些查询匹配的任何用户。

目前,用户一次只能搜索一个查询,但我想知道如何修改此脚本,以便用户可以搜索多个查询,因此如果他们输入白人英国男性,他们会将所有用户列为白人,英国和男性。或者,如果他们搜索威尔士 40 岁以上的女性,他们会得到所有威尔士 40 岁以上女性的用户。

$query_for_result=mysql_query("SELECT *
                            FROM ptb_stats
                            WHERE display_name like '%".$query."%' OR and location LIKE '%".$query."%' OR age LIKE '%".$query."%' OR nationality LIKE '%".$query."%' OR hobbies LIKE '%".$query."%' OR ethnicity LIKE '%".$query."%' OR local_station LIKE '%".$query."%' LIMIT 5");
    echo "<div class=\"search-results\">";
    while($data_fetch=mysql_fetch_array($query_for_result))

    {
4

2 回答 2

0

and除了你的 SQL 看起来不错之外,你还有一个额外的东西。虽然我确实希望你在消毒$query

您可能需要考虑是否要使用ORAND取决于您尝试对搜索进行的具体操作。您几乎肯定还希望构建您的 SQL 字符串以仅包含您要搜索的列。前任:

if( isset($query_age) ) {
    $sql_string .= " OR age LIKE '%".$query_age."%'";
}
etc...
于 2013-01-02T00:54:32.190 回答
0

您可以实现对 PHP 页面的客户端 Ajax 调用,然后将进行数据库查询并将 XML 或 JSON 答案返回给客户端。然后在本地更新客户端。

于 2013-01-02T00:56:35.417 回答