ホームページ >バックエンド開発 >PHPチュートリアル >PHP でキーワードを検索および強調表示するための実装コード site_PHP チュートリアル

PHP でキーワードを検索および強調表示するための実装コード site_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:21:54840ブラウズ

コードをコピーします コードは次のとおりです:

require_once 'sqlTools.class.php';//カプセル化クラス、実行可能DQL、DMLステートメント
$info=$_POST['info '];
$sql="user_500 から名前、パスワード、電子メールを選択します。名前は '%$info%'、パスワードは '%$info%'、または電子メールは '%$info%' です。"; SqlTools() ;
$res=$sqlTools->execute_dql($sql);
while ($row=mysql_fetch_assoc($res)){
$row['name']=preg_replace("/($info)/ i", "\1",$row['name']);
$row['password']=preg_replace("/($info) /i" ,"\1",$row['パスワード']);
$row['メール']=preg_replace("/($info )/i ","\1",$row['email']);
echo $row['name']."--> ".$ row['password']."-->".$row['email']."
";
}
?>

アイデア分析:
含まれる %$ を変更するSQL ステートメント内 info% が実行のために DBMS に渡されると、フィールド内の変数 $info の値を含む情報が検索されます。
%$info---> の値で終わる情報を検索します。 $info
$info%---> $info の値で始まる情報を検索します
通常の関数 preg_replace() を使用して検索されたキーワードを強調表示します (例:
) $row['name']=preg_replace("/( $info)/i"," \1",$row['name']);
意味: POST 側を通じて受け取った値 $infoは追加されたスタイル (赤い太字) に置き換えられ、結果を $row['name'] に再割り当てします
複数のキーワードを検索したい場合は、受け取った値 $info を $info_more=explode(" " のように分割できます) ,$info );//このメソッドは、キーワードをスペースで区切って分割し、その分割結果を 1 つずつクエリして、キーワードを強調表示する置換を実行できます。
sqlTools のソース コード。

コードをコピーします コードは次のとおりです:
class SqlTools{
private $host="localhost"
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 ) または die("データベースが見つかりません".mysql_error());
mysql_query("set names utf8")
}
public functionexecute_dml($sql){
$bool=mysql_query($sql); ($bool){
if ($bool>0) {
}else{
return 2;
}else {
}
}
public functionexecute_dql($sql) {
$res=mysql_query($sql);
return $res;
public function close_conn(){
mysql_close($this->conn)
}
?>




http://www.bkjia.com/PHPjc/324825.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/324825.html
技術記事

次のようにコードをコピーします: ?php require_once 'sqlTools.class.php';//カプセル化クラス、実行可能 dql、dml ステートメント $info=$_POST['info'] $sql="select name,password,email from user_500どこ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。