您好!根据您的问题,我了解到您需要一个关于PHP/MySQL高级搜索的页面。以下是一个简单的示例,展示了如何在PHP和MySQL中实现高级搜索功能。
首先,创建一个HTML表单,用于输入搜索条件:
<!DOCTYPE html>
<html>
<head>
<title>PHP/MySQL高级搜索</title>
</head>
<body>
<form action="search.php" method="post">
<label for="keyword">关键词:</label>
<input type="text" id="keyword" name="keyword">
<br>
<label for="category">类别:</label>
<select id="category" name="category">
<option value="">全部</option>
<option value="electronics">电子产品</option>
<option value="clothing">服装</option>
<option value="books">书籍</option>
</select>
<br>
<label for="price_min">价格最低:</label>
<input type="text" id="price_min" name="price_min">
<br>
<label for="price_max">价格最高:</label>
<input type="text" id="price_max" name="price_max">
<br>
<input type="submit" value="搜索">
</form>
</body>
</html>
接下来,创建一个名为search.php
的PHP文件,用于处理搜索请求并与MySQL数据库进行交互:
<?php
// 连接到MySQL数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 从表单获取搜索条件
$keyword = $_POST['keyword'];
$category = $_POST['category'];
$price_min = $_POST['price_min'];
$price_max = $_POST['price_max'];
// 构建SQL查询语句
$sql = "SELECT * FROM products WHERE 1=1";
if (!empty($keyword)) {
$sql .= " AND (name LIKE '%$keyword%' OR description LIKE '%$keyword%')";
}
if (!empty($category)) {
$sql .= " AND category='$category'";
}
if (!empty($price_min)) {
$sql .= " AND price>=$price_min";
}
if (!empty($price_max)) {
$sql .= " AND price<=$price_max";
}
// 执行查询并处理结果
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "名称:" . $row["name"] . " - 价格:" . $row["price"] . "<br>";
}
} else {
echo "未找到相关产品";
}
$conn->close();
?>
在这个示例中,我们创建了一个简单的HTML表单,用于输入关键词、类别、价格范围等搜索条件。然后,我们使用PHP连接到MySQL数据库,并根据用户输入的搜索条件构建SQL查询语句。最后,我们执行查询并处理结果,将搜索结果显示在页面上。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的搜索功能和更严格的安全措施。
领取专属 10元无门槛券
手把手带您无忧上云