当前位置:首页 > PHP

php实现新闻查找

2026-02-16 03:47:43PHP

使用PHP实现新闻查找功能

通过PHP结合数据库查询可以实现新闻查找功能,以下是具体实现方法:

数据库准备

创建新闻表结构,包含标题、内容、发布时间等字段:

CREATE TABLE news (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT,
    publish_time DATETIME,
    category VARCHAR(50)
);

基础关键词搜索

使用LIKE语句实现简单搜索:

$keyword = $_GET['keyword'];
$sql = "SELECT * FROM news WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query($sql);

高级搜索功能

添加分类筛选和时间范围查询:

php实现新闻查找

$category = $_GET['category'];
$startDate = $_GET['start_date'];
$endDate = $_GET['end_date'];

$sql = "SELECT * FROM news WHERE 1=1";
if(!empty($keyword)) {
    $sql .= " AND (title LIKE '%$keyword%' OR content LIKE '%$keyword%')";
}
if(!empty($category)) {
    $sql .= " AND category = '$category'";
}
if(!empty($startDate) && !empty($endDate)) {
    $sql .= " AND publish_time BETWEEN '$startDate' AND '$endDate'";
}

分页处理

添加LIMIT实现分页:

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

$sql .= " LIMIT $offset, $perPage";

搜索结果展示

在HTML中循环显示搜索结果:

php实现新闻查找

while($row = $result->fetch_assoc()) {
    echo "<div class='news-item'>";
    echo "<h3>{$row['title']}</h3>";
    echo "<p>{$row['content']}</p>";
    echo "<span class='date'>{$row['publish_time']}</span>";
    echo "</div>";
}

安全优化

使用预处理语句防止SQL注入:

$stmt = $conn->prepare("SELECT * FROM news WHERE title LIKE ? OR content LIKE ?");
$searchTerm = "%$keyword%";
$stmt->bind_param("ss", $searchTerm, $searchTerm);
$stmt->execute();
$result = $stmt->get_result();

全文索引优化

对于大型新闻系统,建议在MySQL中创建全文索引:

ALTER TABLE news ADD FULLTEXT(title, content);

使用MATCH AGAINST进行更高效的搜索:

$sql = "SELECT * FROM news WHERE MATCH(title, content) AGAINST('$keyword')";

以上方法可根据实际需求组合使用,构建完整的新闻查找功能。对于更复杂的搜索需求,可以考虑集成Elasticsearch等专业搜索引擎。

标签: 新闻php
分享给朋友:

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常用…

php实现的进度条

php实现的进度条

PHP 实现的进度条方法 在 PHP 中实现进度条通常可以通过命令行脚本(CLI)或 Web 页面两种方式完成。以下是几种常见的实现方法: 命令行进度条 使用 PHP CLI 实现进度条,可以通过不…

php实现定时

php实现定时

PHP 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过编…

php实现https

php实现https

PHP 实现 HTTPS 请求 在 PHP 中实现 HTTPS 请求,可以通过多种方式完成,包括使用内置函数、cURL 扩展或第三方库。以下是几种常见的方法: 使用 file_get_content…

php实现伪静态

php实现伪静态

PHP 实现伪静态的方法 伪静态(URL Rewrite)是一种将动态URL转换为看似静态URL的技术,提升SEO友好性和用户体验。以下是几种常见的实现方式: 使用 Apache 的 mod_rew…