Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungsmethode der PHP-Schlüsselwortabfrage

Implementierungsmethode der PHP-Schlüsselwortabfrage

藏色散人
藏色散人Original
2020-11-02 11:46:582692Durchsuche

So implementieren Sie eine PHP-Schlüsselwortabfrage: Erhalten Sie zunächst Benutzereingaben, zerlegen Sie dann mehrere vom Benutzer eingegebene Schlüsselwörter und speichern Sie sie anschließend in einem Array. Sortieren Sie dann die Suchergebnisse und zeigen Sie die aktuelle Just-Suche an die Ergebnisse.

Implementierungsmethode der PHP-Schlüsselwortabfrage

Empfohlen: „PHP-Video-Tutorial

PHPs Suche nach der Datenbank wird hauptsächlich durch die Verwendung der Like-Klausel in der SQL-Anweisung erreicht. Wenn Sie nach mehreren Schlüsselwörtern gleichzeitig suchen, können Sie die Suchergebnisse mithilfe der Union-Klausel kombinieren. Der folgende Code implementiert eine Suchseite.

Zitat

<?php require_once(&#39;&#39;Connections/conn.php&#39;&#39;); ?>
<?php
$colname_rs = $_GET[&#39;&#39;key&#39;&#39;]; //获得用户输入
$result = explode(&#39;&#39;,&#39;&#39;,$_GET[&#39;&#39;key&#39;&#39;]);//分解用户输入的多个关键词,存入$result数组
mysql_select_db($database_conn, $conn); //连接数据库
//根据多个关键词构建SQL语句
$query_rs = "SELECT * FROM (";
for($i=0;$i<count($result);$i++) //根据每个搜索关键词构建SQL语句
{
if($i==0) //对第一个关键词,不使用UNION
$query_rs .= "SELECT * FROM searchtable WHERE title LIKE &#39;&#39;%$result[0]%&#39;&#39;
OR content LIKE &#39;&#39;%$result[0]%&#39;&#39;";
else //对其他关键词,使用UNION连接
$query_rs .= " UNION SELECT * FROM searchtable WHERE title LIKE
&#39;&#39;%$result[$i]%&#39;&#39; OR content LIKE &#39;&#39;%$result[$i]%&#39;&#39;";
}
$query_rs .= ") T ORDER BY last_access DESC"; //对搜索结果排序
//执行SQL语句
$rs = mysql_query($query_rs, $conn) or die(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);
?>
<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form name="form1" method="get" action="?">
<div align="center">请输入要搜索关键词:
<input name="key" type="text" size="64" value="<?php echo $_GET[&#39;&#39;key&#39;&#39;] ?>">
<input type="submit" value="Submit">
</div>
</form>
<p align="center"><B>当前关键词:
<?php
for($i=0;$i<count($result);$i++) { //循环显示关键词
echo $result[$i]." ";
}
?></B></p>
<p><hr></p>
<?php if($totalRows_rs>0) do { //显示当前搜索结果 ?>
<p>* <a href="show.php?key=<?php echo $colname_rs ?>&id=<?php echo
$row_rs[&#39;&#39;id&#39;&#39;]; ?>"><?php echo $row_rs[&#39;&#39;title&#39;&#39;]; ?></a>(<?php echo
$row_rs[&#39;&#39;click&#39;&#39;]; ?> | <?php echo $row_rs[&#39;&#39;last_access&#39;&#39;]; ?>)</p>
<?php } while ($row_rs = mysql_fetch_assoc($rs)); ?>
</body>
</html>
<?php
mysql_free_result($rs);
?>

Hier können Sie englische Kommas "," auf der Seite verwenden, um nach mehreren Schlüsselwörtern zu suchen.

Hier wird die Verbindung zur Datenbank noch in einer speziellen PHP-Datei platziert, um spätere Änderungen zu erleichtern.

Das obige ist der detaillierte Inhalt vonImplementierungsmethode der PHP-Schlüsselwortabfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn