首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使搜索查询功能更强大

使搜索查询功能更强大
EN

Stack Overflow用户
提问于 2013-12-20 21:31:49
回答 2查看 392关注 0票数 0

我有以下搜索引擎:

HTML代码:

代码语言:javascript
复制
<form id="header-search" action="car-list.php" method="get">
            <input type="text" name="search" value="<?php echo $_GET['search'];  ?>"  id="text" placeholder="Zoek hier.." class="quick-search" onchange  >

            <select name="type-option">
                <option value="auto" selected="selected">Auto's</option>
        <!--    <option value="bikes">Motoren</option>
                <option value="trucks">Trucks</option>
                <option value="Parts">Parts</option> -->
            </select>
            <div class="search-submit">
                <input type="submit" name="submit" id="search" value="Zoeken"/>
                 <input type="hidden" name="page" id="text"  value="1" class="quick-search"  >
                 <input type="hidden" name="ipp" id="text" value="25"  class="quick-search"  >
            </div>
        </form>

Php代码:

代码语言:javascript
复制
<?php
$searchq = $_GET['search']; 
$searchq = htmlspecialchars($searchq); 
 $searchq = mysql_real_escape_string($searchq);                  
 $photo=mysql_query("SELECT * FROM `adver` WHERE merk LIKE '%$searchq%' OR titel 
 LIKE '%$searchq%' OR model LIKE '%$searchq%' ORDER BY car_id DESC $pages->limit")or die(mysql_error());

 while($get_photo=mysql_fetch_array($photo)){ 

?>

 <a href="<?php echo 'car-details.php?merk='.$get_photo['merk'] .'&car_id='  .$get_photo['car_id'] .'&titel=' .$get_photo['titel'] ;?>">
 <img src="<?php  echo $get_photo['path'] ; ?>"   style="border:1px solid #021a40;" alt="<?php  echo $get_photo['merk'] ;?>" }/>

我有一张桌子。有3列model, merk, titel

让我们说model = Audimerk = A6。当我搜索“奥迪”或" A6“的结果时,我会得到结果,但当我搜索奥迪A6时,我就得不到结果了。

因此,我需要一个来自同一个$Row的两列的组合。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-20 22:07:32

当您的表开始变大时,使用一个LIKE查询和搜索字符串之前的% joker,MySQL将无法使用索引,并将执行完整的表扫描。查询可能会变得非常缓慢。如果使用MyISAM表,最好的选择是包含可搜索列的创建全文索引

然后有三种类型的全文搜索模式。表现应该是伟大的骗局,不能再使用一个玩笑了。

编辑:只需阅读,自InnoDB 5.6以来,全文搜索也应可用于MySQL。

票数 0
EN

Stack Overflow用户

发布于 2013-12-20 21:38:33

您需要连接要搜索的字段:

代码语言:javascript
复制
$photo=mysql_query("SELECT * FROM `adver` WHERE CONCAT_WS(' ',model,merk) LIKE '%$searchq%' ORDER BY car_id DESC $pages->limit")or die(mysql_error());

医生:康-斯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20712261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档