博客列表 >模糊查询多条件多字段加亮处理

模糊查询多条件多字段加亮处理

福哥的博客
福哥的博客原创
2017年07月24日 18:00:38889浏览
<?php
$mysqli = db_connect();
if(isset($_GET['go_search'])){
    $k=$_GET['search_keyword'];
    $k=preg_replace ( "/\s(?=\s)/","\\1", $k );//多个连续空格只保留一个
    $k=trim($k);                        
    $k=explode(" ",$k);
if($k[0]!=""){
    $city=$_GET['city1'];
//$sql="select*from job where concat(suername,content) like '%$k[0]%' or concat(suername,content) like '%$k[1]%' and city='$city'";                    
//$sql="select * from job where 1=1";
    $sql = "SELECT * FROM (";
    if($k){
        for($i=0;$i<count($k);$i++) //根据每个搜索关键词构建SQL语句
            {
        if($i==0){ //对第一个关键词,不使用UNION   
        $sql .= "select * from job where concat(suername,content) like '%$k[0]%'";
            }
        else {//对其他关键词,使用UNION连接  
        $sql .= " union select * from job where concat(suername,content) like
        '%$k[$i]%'";
                }   
            }
    $sql .=")as a where";
        $sql.= " id = '$_GET[id]'";
        if($city){
        $sql=$sql." and city = '$city'";
                    }
        $sql.= " ORDER BY `a`.`id` DESC";  
            }    
    $q=$mysqli->query($sql);
    while($row=$q->fetch_array()){
      for($i=0;$i<count($k);$i++){
      $row['content']=preg_replace("/($k[$i])/i","<font color=red><b>\\1</b></font>",$row['content']);
      $row['suername']=preg_replace("/($k[$i])/i","<font color=red><b>\\1</b></font>",$row['suername']);
     }
?>


上一条:分段读取下一条:我的第一个博客
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议