要求点击百度一下,将搜索记录用PHP语言保存到数据库,当下次打开网站时,此前的搜索记录会展示最近的6条。
时间: 2024-03-15 19:45:05 浏览: 21
好的,这里是实现这个功能的一些步骤:
1. 创建一个 HTML 页面,包含一个搜索框和一个“百度一下”按钮,以及一个展示最近6条搜索记录的列表。
2. 在按钮的点击事件中,使用 JavaScript 获取搜索框中的关键词,并使用 AJAX 向后端发送请求。请求的 URL 可以包含关键词作为参数。
3. 在后端,使用 PHP 接收 AJAX 请求,并将搜索记录存储到数据库中。可以使用 MySQL 数据库,创建一个名为 `search_history` 的表,包含 `id`、`keyword` 和 `timestamp` 三个字段。
4. 当页面加载时,使用 PHP 从数据库中获取最近6条搜索记录,并在列表中展示出来。
下面是一个简单的实现示例,仅供参考:
1. HTML 页面
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>搜索记录</title>
</head>
<body>
<form>
<input type="text" id="keyword">
<button type="button" id="search">百度一下</button>
</form>
<ul id="history">
<!-- 这里使用 PHP 从数据库中获取最近6条搜索记录,并展示出来 -->
<?php
$db = new mysqli('localhost', 'user', 'password', 'database');
$result = $db->query('SELECT * FROM search_history ORDER BY timestamp DESC LIMIT 6');
while ($row = $result->fetch_assoc()) {
echo '<li>' . htmlspecialchars($row['keyword']) . '</li>';
}
$db->close();
?>
</ul>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function() {
$('#search').click(function() {
var keyword = $('#keyword').val();
$.post('save_search.php', {keyword: keyword}, function() {
// 保存搜索记录成功后,重新加载页面,以展示最新的6条搜索记录
location.reload();
});
});
});
</script>
</body>
</html>
```
2. PHP 后端保存搜索记录的代码,保存在 `save_search.php` 文件中:
```php
<?php
$db = new mysqli('localhost', 'user', 'password', 'database');
$keyword = $db->real_escape_string($_POST['keyword']);
$db->query("INSERT INTO search_history (keyword, timestamp) VALUES ('$keyword', NOW())");
$db->close();
?>
```
注意,这里需要对用户输入的关键词进行转义,以避免 SQL 注入攻击。
这个实现方式还比较简单,没有考虑到分页、搜索记录的去重等问题。如果需要更完善的实现,可以进一步优化代码。