当前位置:首页 > PHP

php实现音乐搜索功能

2026-02-28 01:25:18PHP

数据库设计

创建数据库表存储音乐信息,至少包含字段:idtitleartistalbumfile_path。MySQL示例:

CREATE TABLE music (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255),
    artist VARCHAR(255),
    album VARCHAR(255),
    file_path VARCHAR(255)
);

搜索表单

HTML前端创建搜索表单,提交到PHP处理页面:

<form action="search.php" method="get">
    <input type="text" name="keyword" placeholder="输入歌曲名或歌手">
    <button type="submit">搜索</button>
</form>

PHP搜索处理

使用PDO连接数据库并执行搜索,防止SQL注入:

<?php
$keyword = $_GET['keyword'] ?? '';
if (!empty($keyword)) {
    try {
        $pdo = new PDO('mysql:host=localhost;dbname=music_db', 'username', 'password');
        $stmt = $pdo->prepare("SELECT * FROM music WHERE title LIKE :keyword OR artist LIKE :keyword");
        $stmt->execute([':keyword' => "%$keyword%"]);
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        die("数据库连接失败: " . $e->getMessage());
    }
}
?>

结果展示

循环输出搜索结果并包含播放链接:

<?php if (!empty($results)): ?>
    <ul>
        <?php foreach ($results as $song): ?>
            <li>
                <h3><?= htmlspecialchars($song['title']) ?></h3>
                <p>歌手: <?= htmlspecialchars($song['artist']) ?></p>
                <audio controls src="<?= htmlspecialchars($song['file_path']) ?>"></audio>
            </li>
        <?php endforeach; ?>
    </ul>
<?php else: ?>
    <p>没有找到匹配的歌曲</p>
<?php endif; ?>

高级搜索优化

添加模糊搜索和分页功能:

// 分页处理
$page = $_GET['page'] ?? 1;
$limit = 10;
$offset = ($page - 1) * $limit;

$stmt = $pdo->prepare("SELECT * FROM music 
                      WHERE title LIKE :keyword 
                      OR artist LIKE :keyword 
                      LIMIT $limit OFFSET $offset");

性能优化建议

  1. titleartist字段添加全文索引
  2. 使用缓存技术存储热门搜索结果
  3. 实现异步AJAX搜索减少页面刷新

php实现音乐搜索功能

分享给朋友:

相关文章

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('lo…

php搜索功能的实现

php搜索功能的实现

实现PHP搜索功能的方法 数据库搜索 使用SQL的LIKE语句进行模糊匹配,适用于简单的搜索需求。 $searchTerm = $_GET['search']; $query = "SELECT *…

vue实现音乐页面

vue实现音乐页面

使用 Vue 实现音乐页面 项目初始化 使用 Vue CLI 或 Vite 创建一个新的 Vue 项目。确保安装了必要的依赖,如 vue-router 和 axios。 npm create vue…

vue前端搜索功能实现

vue前端搜索功能实现

实现Vue前端搜索功能的方法 双向绑定搜索关键词 在Vue组件中使用v-model绑定搜索输入框,实时获取用户输入的关键词。这种方法适用于简单的本地数据过滤。 <template>…

vue实现模糊搜索功能

vue实现模糊搜索功能

实现模糊搜索的基本思路 在Vue中实现模糊搜索功能通常需要结合输入框的事件监听、数据过滤以及实时展示。核心是利用JavaScript的字符串方法或正则表达式对数据进行匹配筛选。 使用计算属性实现模糊…

Django加Vue实现音乐

Django加Vue实现音乐

Django 后端搭建 安装 Django 和相关依赖: pip install django djangorestframework django-cors-headers 创建 Django 项…