我想为页面创建一个动态标题,我知道如何做,但我似乎无法使它工作。
如果我这样做有效;
<head><title><?php echo $pagetitle; ?></head>
<?php $pagetitle = "Homepage"; ?>
但此刻我正在使用while循环从MySQL表中提取数据;
while ($row = mysql_fetch_array($query)) {
我需要将$ pagetitle变量放在while循环中,因为它是符合的;
$pagetitle1 = $row['title'];
$pagetitle = "$pagetitle1 ~website.com";
以下是涉及的页面;
index.php(我需要放入pagetitle变量)
$title = $row['title'];
$author = $row['author'];
$email = $row['author_email'];
$cat = $row['category'];
$content = $row['content'];
$date = $row['date'];
$id = $row['id'];
echo "<center>
<table border='0' width='100%' cellspacing='10'>
<tr>
<td width='20%' valign='top'><div class='title'><a href=\"?id=$id\">$title</a></div>
<div class='info'><i>$date</i><br />
By <a href='mailto:$email'>$author</a><br />
$cat</div>
</td>
<td width='80%' valign='top'>";
echo nl2br($content);
echo "</td>
</tr>
</table>
<hr />
</center>
";
}
}
else
$query = mysql_query("SELECT * FROM blogdata WHERE id = '" . $_GET['id'] . "'");
while ($row = mysql_fetch_array($query)) {
$title = $row['title'];
$author = $row['author'];
$email = $row['author_email'];
$cat = $row['category'];
$content = $row['content'];
$date = $row['date'];
echo "<center>
<table border='0' width='100%' cellspacing='10'>
<tr>
<td width='20%' valign='top'><div class='title'><a href=''>$title</a></div>
<div class='info'><i>$date</i><br />
By <a href='mailto:$email'>$author</a><br />
$cat</div>
</td>
<td width='80%' valign='top'>";
echo nl2br($content);
echo "</td>
</tr>
</table>
<hr />
<a href='index.php'>← Rewind.</a>
</center>
";
}
require("footer.php");
?>
的header.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $pagetitle; ?></title>
</head>
<body>
<br />
答案 0 :(得分:1)
但此刻我正在使用while循环从MySQL表中提取数据;
所以,你做错了。
您可能已经注意到,您的主要问题是数据库循环。要解决这个问题,您不应该直接在循环中输出数据,而是将其全部收集到某个变量中以备将来使用。然后才开始输出。
在我之前的回答中,我写了关于如何使用简单PHP脚本的模板的完整工作示例。它完全适合您的情况:Using Template on PHP
答案 1 :(得分:1)
只要您在使用变量时查询数据库中的页面内容,它应该可以正常工作,例如:
<?php
$query = mysql_query(" SELECT * FROM posts WHERE id = '$id' ");
while ($row = mysql_fetch_array($query))
{
$page_title = $row['page_title'];
$page_content = $row['page_content'];
}
?>
<html>
<head>
<title><?php echo $page_title; ?></title>
</head>
<body>
<?php echo $page_content; ?>
</body>
</html>
答案 2 :(得分:0)
如果您愿意,我建议您使用模板引擎(如PHPTAL或XSLT),而不是使用页眉和页脚文件进行打印。
无论如何,你应该做的是:
setup.php:执行所有查询以及为文件构建设置的所有内容。没有打印 header.php:安装后包含,它将打印正确的标题。 page.php:页面内容。
建议在构建完毕后立即回显所有页面内容(例如将header.php的内容存储到变量中),因为这样更容易管理。