我有以下搜索引擎:
HTML代码:
<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代码:
<?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 = Audi和merk = A6。当我搜索“奥迪”或" A6“的结果时,我会得到结果,但当我搜索奥迪A6时,我就得不到结果了。
因此,我需要一个来自同一个$Row的两列的组合。我该怎么做?
发布于 2013-12-20 22:07:32
当您的表开始变大时,使用一个LIKE查询和搜索字符串之前的% joker,MySQL将无法使用索引,并将执行完整的表扫描。查询可能会变得非常缓慢。如果使用MyISAM表,最好的选择是包含可搜索列的创建全文索引。
然后有三种类型的全文搜索模式。表现应该是伟大的骗局,不能再使用一个玩笑了。
编辑:只需阅读,自InnoDB 5.6以来,全文搜索也应可用于MySQL。
发布于 2013-12-20 21:38:33
您需要连接要搜索的字段:
$photo=mysql_query("SELECT * FROM `adver` WHERE CONCAT_WS(' ',model,merk) LIKE '%$searchq%' ORDER BY car_id DESC $pages->limit")or die(mysql_error());医生:康-斯
https://stackoverflow.com/questions/20712261
复制相似问题