Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan enjin carian mudah menggunakan PHP

Bagaimana untuk melaksanakan enjin carian mudah menggunakan PHP

WBOY
WBOYasal
2023-09-26 14:01:021776semak imbas

Bagaimana untuk melaksanakan enjin carian mudah menggunakan PHP

Cara menggunakan PHP untuk melaksanakan enjin carian mudah

Enjin carian memainkan peranan penting dalam masyarakat moden, membantu pengguna mencari maklumat dengan cepat mereka perlukan. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan enjin carian mudah dan memberikan contoh kod khusus.

Pertama sekali, kita memerlukan pangkalan data untuk menyimpan kandungan yang hendak dicari. Kita boleh menggunakan pangkalan data MySQL untuk mencipta pangkalan data bernama "search_engine" dan mencipta jadual data bernama "dokumen" dalam pangkalan data untuk menyimpan kandungan dan tajuk dokumen. Berikut ialah kod SQL yang digunakan untuk mencipta jadual data ini:

CREATE TABLE `documents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Seterusnya, kita perlu mencipta halaman HTML untuk carian. Berikut ialah kod contoh halaman carian mudah:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>搜索引擎</title>
</head>
<body>
    <form action="search.php" method="GET">
        <input type="text" name="query" placeholder="请输入搜索关键词">
        <input type="submit" value="搜索">
    </form>
</body>
</html>

Dalam kod di atas, kami mencipta borang yang mengandungi kotak input teks dan butang hantar Pengguna boleh memasukkan kekunci carian dalam input teks kotak perkataan dan klik butang hantar untuk mencari.

Seterusnya, kita perlu mencipta fail PHP yang akan mengendalikan permintaan carian dan mengembalikan hasil carian yang berkaitan. Berikut ialah contoh kod untuk fail carian.php mudah:

<?php
// 连接到MySQL数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "search_engine";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查数据库连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败: " . $conn->connect_error);
}

// 获取用户输入的搜索关键词
$query = $_GET['query'];

// 从数据库中查询包含搜索关键词的文档
$sql = "SELECT * FROM `documents` WHERE `content` LIKE '%$query%' OR `title` LIKE '%$query%'";
$result = $conn->query($sql);

// 输出搜索结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "标题: " . $row["title"]. "<br>";
        echo "内容: " . $row["content"]. "<br> <hr>";
    }
} else {
    echo "没有找到匹配的结果";
}

// 关闭数据库连接
$conn->close();
?>

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data "enjin_carian" yang telah dibuat sebelumnya. Kemudian, kami memperoleh kata kunci carian yang dimasukkan oleh pengguna daripada halaman HTML dan menggunakan pernyataan pertanyaan SQL untuk mendapatkan semula dokumen yang mengandungi kata kunci carian daripada pangkalan data. Akhir sekali, kami menggunakan gelung dan pernyataan bersyarat untuk mengeluarkan hasil carian.

Dengan menyimpan kod di atas sebagai fail search.php dan meletakkannya dalam direktori yang sama seperti halaman carian HTML yang dibuat sebelum ini, kami boleh mengakses halaman HTML dalam pelayar dan memasukkan kata kunci carian dan mendapatkan hasil carian yang berkaitan.

Perlu diingat bahawa contoh di atas hanya menunjukkan cara menggunakan PHP untuk melaksanakan enjin carian mudah, dan kod itu tidak melakukan sebarang pemprosesan keselamatan. Dalam pembangunan sebenar, kami juga perlu mengesahkan dan menapis input untuk mengelakkan penyerahan kandungan berniat jahat dan isu keselamatan seperti suntikan SQL.

Saya harap artikel ini dapat membantu pembaca memahami cara menggunakan PHP untuk melaksanakan enjin carian mudah dan membantu pembaca bermula dengan memberikan contoh kod khusus. Melalui kajian dan penambahbaikan lanjut, pembaca boleh mencapai aplikasi enjin carian yang lebih berkuasa dan fleksibel.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan enjin carian mudah menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn