欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

关键字查询类

程序员文章站 2022-05-21 10:41:04
...

无详细内容 无 /*多关键字查询类*/ class MultiKeySearch//多关键字查询类 { private $Keyword;//查询关键字private $result;//结果function __construct($Keyword,$Datalist,$Field)//查询关键字,数据表{ $this-Keyword=$Keyword; $this-Datalist=$Datalist

/*多关键字查询类*/
  class MultiKeySearch//多关键字查询类
  {
    private $Keyword;//查询关键字
	private $result;//结果
	function __construct($Keyword,$Datalist,$Field)//查询关键字,数据表
	{
	  $this->Keyword=$Keyword;
	  $this->Datalist=$Datalist;
	  $this->Field=$Field;//查询的关键字段
	}
	function DoSql()//查询关键字,取得值
	{
	  $ArrayKeyword=preg_split('/\.|\+| |_/',$this->Keyword);
	  //分割,返回数组.+空格下划线分割。
	  $Query=M($this->Datalist);//实例化模型
	  $conditon="";//条件集合
	  $flag=1;
	  //dump($ArrayKeyword);
	  foreach($ArrayKeyword as $value)
	  {
	    //echo $value;
	    if($flag==1)
	    {
		  $condition.=$this->Field." like '"."%".$value."%'";//模糊查询
		  $flag=0;//首个字段不用加or
		}
		else
		{
		  $condition.=' or '.$this->Field." like '"."%".$value."%'";
		}
	  }
	  //echo $condition;//打印SQL条件语句
	  $this->result=$Query->where($condition)->select();
	  foreach($this->result as &$value)//遍历数组添加引用,
	  {
	    foreach($ArrayKeyword as $keyword)
		{
		  $value['Profession']= str_replace($keyword,"".$keyword."",$value['Profession']);
		}
	  }
	  return $this->result;//返回一个高亮查询结果
	}
	
  }
  /*多关键字查询类END*/