PHP 多条件筛选功能是指在 PHP 程序中实现根据多个条件对数据进行筛选的功能。这种功能通常用于数据库查询,用户可以根据多个条件(如日期范围、价格区间、分类等)来筛选出符合要求的数据。
以下是一个简单的 PHP 多条件筛选功能的示例代码:
<?php
// 假设我们有一个数据库连接
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取用户输入的筛选条件
$min_price = $_GET['min_price'] ?? '';
$max_price = $_GET['max_price'] ?? '';
$category = $_GET['category'] ?? '';
// 构建 SQL 查询语句
$sql = "SELECT * FROM products WHERE 1=1";
$params = [];
if (!empty($min_price)) {
$sql .= " AND price >= ?";
$params[] = $min_price;
}
if (!empty($max_price)) {
$sql .= " AND price <= ?";
$params[] = $max_price;
}
if (!empty($category)) {
$sql .= " AND category = ?";
$params[] = $category;
}
// 执行查询
$stmt = $conn->prepare($sql);
$stmt->bind_param(str_repeat("s", count($params)), ...$params);
$stmt->execute();
$result = $stmt->get_result();
// 处理结果
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Price: " . $row["price"]. " - Category: " . $row["category"]. "<br>";
}
$stmt->close();
$conn->close();
?>mysqli::prepare 和 mysqli_stmt::bind_param)可以有效防止 SQL 注入。WHERE 1=1 可以简化条件拼接逻辑。通过以上方法,可以实现一个安全、高效的多条件筛选功能。
没有搜到相关的沙龙