从MySql数据库中搜索PHP-MySql网站的多个字段

时间:2013-12-02 20:45:15

标签: php mysql

  1. 我正在开发一个PHP-MySql网站。对于搜索页面,我允许使用以下字段进行搜索: 标题,关键词,城市,国家,名称,类型
  2. 使用'post'捕获搜索词到6个变量:
  3. $ searchTitle,$ searchKeywords,$ searchCity,$ searchCountry,$ searchName,$检索类别

    1. 标题栏:我还在标题栏中允许使用逗号分隔的单词(最多3个单词)。
    2. 出现逗号时,“标题”字段的搜索词将分开:

      $terms1 = preg_split("/[\s,-]+/", $searchTitle); 
      
      1. 关键字字段:我还允许在关键字字段中使用逗号分隔的单词(最多3个单词)。

        现在,当逗号出现时,关键字字段的搜索字词将被分开:

        $terms2 = preg_split("/[\s,-]+/", $searchKeywords);

      2. 现在查询:

        SELECT * FROM MyDataTable 
        WHERE Title LIKE '%$terms1[0]%' 
          AND Title LIKE '%$terms1[1]%' 
          AND Title LIKE '%$terms1[2]%'
          AND Keywords LIKE '%$terms2[0]%' 
          AND Keywords LIKE '%$terms2[1]%' 
          AND Keywords LIKE '%$terms2[2]%' 
          AND City     LIKE '%$searchCity%' 
          AND Country  LIKE '%$searchCountry%' 
          AND Name LIKE '%$searchName%' 
          AND Type LIKE '%$searchType%' 
        order by UploadDate
        
      3. 问题:代码有效,但看起来很耐心,我不确定它是最聪明的查询方式。任何提示都会有所帮助。 干杯。

0 个答案:

没有答案