php读取redsources_db数据库的red_resources;数据库账号为root,密码为Aa123456。red_resources表头内容为id,category_id,subcategory_id,details,image。 根据数据库动态创建以下内容: 第一个php文件: 需求1:接受外部传入的$subcategoryId = $_GET['subcategory']; 需求2:默认显示满足$subcategoryId分类的第一条信息; 需求3:使用方法$image_data = base64_encode(file_get_contents($image));将$image内的图片显示出来 需求4:再显示图片的左右,添加导览按钮,点击“<<”显示满足$subcategoryId的前一个信息,点击“>>”显示满足$subcategoryId的后一个信息。 请给出完整代码
时间: 2024-03-23 16:43:42 浏览: 49
以下是可以实现上述需求的完整代码:
index.php
```php
<?php
// 通过 GET 方法获取 subcategory_id
$subcategoryId = isset($_GET['subcategory_id']) ? $_GET['subcategory_id'] : '';
// 导入数据库连接配置文件
require_once('config.php');
// 连接 MySQL 数据库
$conn = mysqli_connect($config['host'], $config['username'], $config['password'], $config['database']);
// 查询满足 subcategory_id 的所有记录
$sql = "SELECT * FROM red_resources WHERE subcategory_id = '{$subcategoryId}'";
$result = mysqli_query($conn, $sql);
// 如果查询结果为空,则默认显示第一条记录
if (mysqli_num_rows($result) == 0) {
$sql = "SELECT * FROM red_resources WHERE subcategory_id = '{$subcategoryId}' LIMIT 1";
$result = mysqli_query($conn, $sql);
}
// 将查询结果转换为 PHP 数组
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 获取当前记录的索引
$current_index = array_keys($rows)[0];
// 关闭 MySQL 连接
mysqli_close($conn);
?>
<html>
<head>
<title>Red Resources</title>
</head>
<body>
<div>
<h1>Red Resources</h1>
<hr>
<?php if ($rows): ?>
<?php $row = $rows[$current_index]; ?>
<h2><?= $row['details'] ?></h2>
<img src="data:image/jpeg;base64,<?= base64_encode(file_get_contents($row['image'])) ?>" />
<br>
<?php if ($current_index > 0): ?>
<a href="?subcategory_id=<?= $subcategoryId ?>&index=<?= $current_index - 1 ?>"><<</a>
<?php endif; ?>
<?php if ($current_index < count($rows) - 1): ?>
<a href="?subcategory_id=<?= $subcategoryId ?>&index=<?= $current_index + 1 ?>">>></a>
<?php endif; ?>
<?php else: ?>
<p>No resources found for subcategory ID: <?= $subcategoryId ?></p>
<?php endif; ?>
</div>
</body>
</html>
```
config.php
```php
<?php
// MySQL 连接配置
$config = [
'host' => 'localhost',
'username' => 'root',
'password' => 'Aa123456',
'database' => 'redsources_db'
];
```
说明:
1. `index.php` 文件通过 `$_GET` 获取 `subcategory_id` 参数,然后连接 MySQL 数据库,并查询满足该参数的所有记录。
2. 如果查询结果为空,则重新查询 `subcategory_id` 对应的第一条记录。将查询结果转换为 PHP 数组。
3. `$current_index` 变量存储当前记录在数组中的索引。
4. 如果存在前一条记录,则显示 `<<` 导航按钮,点击后跳转至前一条记录的详情页面。
5. 如果存在后一条记录,则显示 `>>` 导航按钮,点击后跳转至后一条记录的详情页面。
6. `config.php` 文件存储 MySQL 连接配置信息,方便在多个 PHP 文件中复用。
阅读全文