Heim >Backend-Entwicklung >PHP-Problem >Wie implementiert man mehrere Schlüsselwortabfragen in PHP?

Wie implementiert man mehrere Schlüsselwortabfragen in PHP?

coldplay.xixi
coldplay.xixiOriginal
2020-07-11 10:21:033354Durchsuche

So implementieren Sie mehrere Schlüsselwortabfragen in PHP: 1. Verwenden Sie die Like-Klausel in der SQL-Anweisung, um die Datenbank zu durchsuchen. 2. Suchen Sie nach mehreren Schlüsselwörtern gleichzeitig und verwenden Sie die Union-Klausel, um die Suchergebnisse zusammenzuführen . Das ist es.

Wie implementiert man mehrere Schlüsselwortabfragen in PHP?

Wie PHP mehrere Schlüsselwortabfragen implementiert:

PHP durchsucht die Datenbank hauptsächlich mithilfe von SQL-Anweisungen. Um dies zu erreichen, Verwenden Sie die like-Klausel. Wenn Sie nach mehreren Schlüsselwörtern gleichzeitig suchen, können Sie die union-Klausel verwenden, um die Suchergebnisse zu 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); //连接数据库

Erstellen Sie eine SQL-Anweisung basierend auf mehreren Schlüsselwörtern

$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;";
}

Führen Sie die SQL-Anweisung aus, um die Suchergebnisse zu sortieren

$query_rs .= ") T ORDER BY last_access DESC";
$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

Looping-Anzeige von Schlüsselwörtern

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);
?>

Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Kompetenz

Das obige ist der detaillierte Inhalt vonWie implementiert man mehrere Schlüsselwortabfragen in PHP?. 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