<?php
// 配置数据库连接
$host = 'localhost';
$db = 'ad_database';
$user = 'root';
$pass = 'password';
$dsn = "mysql:host=$host;dbname=$db;charset=utf8";
// 创建 PDO 实例
try {
$pdo = new PDO($dsn, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo '连接失败: ' . $e->getMessage();
exit;
}
// 获取广告数据,根据优先级排序
$sql = 'SELECT * FROM ads WHERE status = 1 ORDER BY priority DESC, created_at DESC';
$stmt = $pdo->query($sql);
$ads = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>广告展示优先级管理系统</title>
<style>
#ad-container {
width: 80%;
margin: auto;
text-align: center;
}
.ad-item {
margin: 20px 0;
}
.ad-item img {
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<h1>广告展示优先级</h1>
<div id="ad-container">
<?php foreach ($ads as $ad): ?>
<div class="ad-item">
<a href="<?php echo htmlspecialchars($ad['url']); ?>" target="_blank">
<img src="<?php echo htmlspecialchars($ad['image']); ?>" alt="<?php echo htmlspecialchars($ad['title']); ?>">
</a>
<p>优先级: <?php echo htmlspecialchars($ad['priority']); ?></p>
</div>
<?php endforeach; ?>
</div>
</body>
</html>
这个 PHP 代码示例实现了一个广告展示优先级管理系统。系统从数据库中提取启用状态的广告,并根据设定的优先级进行排序展示。主要功能包括:
- 数据库操作:使用 PDO 从数据库中检索广告数据,并按优先级降序及创建时间降序排序。这样,优先级高的广告会被优先展示。
- HTML 结构:广告被包含在一个名为
#ad-container
的容器中,每个广告的展示包括图片和优先级信息。 - CSS 样式:通过 CSS 对广告进行样式化,确保广告图片适应容器宽度,且具有适当的间距和对齐方式。
通过这种方式,广告主可以根据广告的优先级调整展示顺序,确保重要的广告获得更多的展示机会。