一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php站內搜索并高亮顯示關鍵字的實現代碼

php站內搜索并高亮顯示關鍵字的實現代碼

2019-12-20 16:22小飛 PHP教程

將sql語句中包含的%$info%交給DBMS執行的時候,他會查找字段中含有變量$info的值的信息

代碼如下:


<?php 
require_once 'sqlTools.class.php';//封裝類,可執行dql、dml語句 
$info=$_POST['info']; 
$sql="select name,password,email from user_500 where name like '%$info%' or password like '%$info%' or email like '%$info%'"; 
$sqlTools=new SqlTools(); 
$res=$sqlTools->execute_dql($sql); 
while ($row=mysql_fetch_assoc($res)){ 
$row['name']=preg_replace("/($info)/i","<b style=\"color:red\">\\1</b>",$row['name']); 
$row['password']=preg_replace("/($info)/i","<b style=\"color:red\">\\1</b>",$row['password']); 
$row['email']=preg_replace("/($info)/i","<b style=\"color:red\">\\1</b>",$row['email']); 
echo $row['name']."-->".$row['password']."-->".$row['email']."<br>"; 

?> 


思路分析: 
將sql語句中包含的%$info%交給DBMS執行的時候,他會查找字段中含有變量$info的值的信息, 
%$info--->查找以$info的值結束的信息 
$info%--->查找以$info的值開頭的信息 
通過正則函數preg_replace()將搜索到的關鍵字高亮顯示,比如, 
    $row['name']=preg_replace("/($info)/i","<b style=\"color:red\">\\1</b>",$row['name']); 
    的意思是:通過POST方接收到的值$info替換為加上樣式(紅色加粗)的結果,并將結果重新賦給$row[‘name'] 
如果要搜索多個關鍵字的話,可以對接收到值$info進行分割,比如$info_more=explode(" ",$info);//這種方式能對以空格隔開的關鍵字進行分割,再對分割后的結果挨個進行查詢,同樣,可以使用正則表達式函數進行替換工作,以高亮顯示關鍵字 
sqlTools.class.php的源代碼: 

復制代碼代碼如下:


<?php 
class SqlTools{ 
private $host="localhost"; 
private $dbname="test"; 
private $dbuser="root"; 
private $dbpwd=""; 
private $conn; 
public function __construct(){ 
$this->conn=mysql_connect($this->host,$this->dbuser,$this->dbpwd); 
if(!$this->conn){ 
die("連接數據庫失敗".mysql_error()); 

mysql_select_db($this->dbname,$this->conn) or die("找不到該數據庫".mysql_error()); 
mysql_query("set names utf8"); 

public function execute_dml($sql){ 
$bool=mysql_query($sql); 
if ($bool){ 
if ($bool>0) { 
return 1; 
}else{ 
return 2; 

}else { 
return 0; 


public function execute_dql($sql){ 
$res=mysql_query($sql); 
return $res; 

public function close_conn(){ 
mysql_close($this->conn); 


?> 


原創文章:WEB開發_小飛 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎网址大全 | 91看片淫黄大片.在线天堂 | 99热热99 | 欧美日韩看看2015永久免费 | 精品国产一区二区三区久久久蜜臀 | 亚洲第一区在线观看 | 午夜福利理论片高清在线 | 乌克兰一级毛片9一18 | 国产情侣偷国语对白 | 欧美精品一区二区三区免费播放 | 亚洲人成在线观看一区二区 | 日本免费v片一二三区 | 亚洲一卡2卡三卡4卡5卡组 | 国产欧美一区二区三区精品 | 国产午夜不卡 | 午夜久久久久久亚洲国产精品 | 国产98在线 | 日本一卡2卡3卡4卡乱 | 日韩一级欧美一级一级国产 | 91庥豆果冻天美精东蜜桃传媒 | 日本高清视频在线的 | 性姿势女人嗷嗷叫图片 | 91果冻制片厂天美传媒 | 欧美整片完整片视频在线 | 蝴蝶传媒免费安装 | 国产高清久久 | 久久99r66热这里有精品 | 韩国漂亮美女三级在线观看 | 亚洲第一男人网站 | 特a级片| tobu8中国在线播放免费 | 欧美成人另类人妖 | 亚洲乱人伦在线 | 久久综合久综合久久鬼色 | 人阁色第四影院在线观看 | 色综合久久综精品 | 亚洲AV中文字幕无码久久 | 亚洲国产无线码在线观看 | 国产高清好大好夹受不了了 | 青青草人人 | 无人区1在线观看 |