当前位置:首页 > PHP

php实现网站查询功能实现的

2026-01-16 11:59:45PHP

PHP实现网站查询功能的方法

数据库连接与配置

使用PDO或mysqli扩展连接数据库,确保安全性。示例代码:

$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Connection failed: " . $e->getMessage());
}

接收用户输入

通过HTML表单获取用户查询条件,使用POST或GET方法传递参数:

<form method="GET" action="search.php">
    <input type="text" name="search_term" placeholder="输入关键词">
    <button type="submit">搜索</button>
</form>

处理查询请求

在PHP脚本中处理用户输入,注意SQL注入防护:

$searchTerm = isset($_GET['search_term']) ? trim($_GET['search_term']) : '';

if (!empty($searchTerm)) {
    $stmt = $pdo->prepare("SELECT * FROM products WHERE name LIKE :term OR description LIKE :term");
    $stmt->bindValue(':term', '%' . $searchTerm . '%');
    $stmt->execute();
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

显示查询结果

将查询结果以表格或其他形式展示给用户:

if (!empty($results)) {
    echo '<table>';
    echo '<tr><th>ID</th><th>名称</th><th>描述</th></tr>';
    foreach ($results as $row) {
        echo '<tr>';
        echo '<td>' . htmlspecialchars($row['id']) . '</td>';
        echo '<td>' . htmlspecialchars($row['name']) . '</td>';
        echo '<td>' . htmlspecialchars($row['description']) . '</td>';
        echo '</tr>';
    }
    echo '</table>';
} else {
    echo '没有找到匹配的结果';
}

高级查询功能实现

对于复杂查询,可以添加多条件筛选:

$category = isset($_GET['category']) ? $_GET['category'] : '';
$price_min = isset($_GET['price_min']) ? (float)$_GET['price_min'] : 0;
$price_max = isset($_GET['price_max']) ? (float)$_GET['price_max'] : PHP_FLOAT_MAX;

$sql = "SELECT * FROM products WHERE (name LIKE :term OR description LIKE :term)";
$params = [':term' => '%' . $searchTerm . '%'];

if (!empty($category)) {
    $sql .= " AND category = :category";
    $params[':category'] = $category;
}

$sql .= " AND price BETWEEN :price_min AND :price_max";
$params[':price_min'] = $price_min;
$params[':price_max'] = $price_max;

$stmt = $pdo->prepare($sql);
$stmt->execute($params);

分页功能实现

处理大量数据时添加分页支持:

$per_page = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $per_page;

$stmt = $pdo->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM products WHERE name LIKE :term LIMIT :offset, :per_page");
$stmt->bindValue(':term', '%' . $searchTerm . '%');
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->bindValue(':per_page', $per_page, PDO::PARAM_INT);
$stmt->execute();

$total = $pdo->query("SELECT FOUND_ROWS()")->fetchColumn();
$total_pages = ceil($total / $per_page);

php实现网站查询功能实现的

分享给朋友:

相关文章

vue实现网站

vue实现网站

Vue 实现网站的基本步骤 Vue.js 是一个渐进式 JavaScript 框架,适合构建现代化的单页应用(SPA)或动态网站。以下是使用 Vue 实现网站的基本方法。 初始化 Vue 项目 使…

vue实现模糊查询功能

vue实现模糊查询功能

Vue 实现模糊查询功能 数据准备 确保有一个数组作为数据源,例如: data() { return { items: ['Apple', 'Banana', 'Orange', 'G…

vue实现网站注册登录

vue实现网站注册登录

Vue 实现网站注册登录功能 项目初始化 使用 Vue CLI 创建项目,安装必要依赖(如 Vue Router、Axios): vue create auth-demo cd auth-demo…

vue实现列表查询功能

vue实现列表查询功能

实现列表查询功能的基本步骤 在Vue中实现列表查询功能通常涉及数据绑定、事件处理和API调用。以下是具体实现方法。 数据绑定与列表渲染 使用v-for指令渲染列表数据,确保数据响应式更新。 &…

vue简单查询功能实现

vue简单查询功能实现

实现 Vue 简单查询功能 1. 创建 Vue 实例与数据绑定 在 Vue 实例的 data 中定义查询关键词 searchQuery 和数据列表 items。通过 v-model 实现输入框与数…

react h5网站如何真机测试

react h5网站如何真机测试

使用 Chrome 远程调试(Android) 确保手机和电脑在同一局域网,打开手机开发者选项中的 USB 调试 和 USB 安装。通过 USB 连接电脑,在 Chrome 浏览器地址栏输入 chro…