我想从数据库中提取一个值,并将其用作当前页面标题。我的连接正常,页面加载良好,但我需要访问一个变量,但我无法计算出这个变量。
我的页面结构:
Blog.php
require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$blogid = $_GET['id'];
$stmt = $dbh->prepare("SELECT id, title, slug, body, image, author, date, category from blog WHERE id= :id ORDER BY date DESC");
$stmt->execute(array('id' => $_GET['id']));
$row = $stmt->fetch();
}
if(isset($row['title'])) {
$pageTitle = $row['title'];
} else {
$pageTitle = "Something Here";
}
CCD_ 1是CCD_ 2中的一个变量。它控制每个页面的<title>
阶段。
问题
我的数据库连接$dbh
设置在header.php
中。这意味着我无法访问$row['title']
,直到为时已晚。
问题:
如何对其进行重组以在require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');
之前访问$row['title']
。如果没有必要的话,我真的不想把数据库连接从标题中拉出来。
谢谢!
您不能这样做,因为您的<title></tile>
已经打印在输出中了。一个核心修复方案是使用缓冲区中的渲染(使用ob_start ob_get_content),然后解析渲染的内容以更改$pageTitle
0标签的内容。
然而,聪明的方法是将数据库从标头中取出。
问候