php - PHP 和 MySQL 中的页面模板

标签 php mysql html

我有一个用 PHP 编写的博客,它使用 MySQL 作为其后端。数据库中存储了一个博客文章模板,脚本会在需要时提取该内容。我怎样才能做到这一点,这样我就不需要将模板存储在我的数据库和 PHP 文件中?

我的 PHP 代码是:

<?php

$dbhost="localhost";
$dbname="database";
$dbuser="username";
$dbpass="password";
$mysql=@mysql_select_db($dbname, @mysql_connect($dbhost, $dbuser, $dbpass)) or die (mysql_error());

if (($_GET['act'] == "blog") && (is_numeric($_GET['id']))) {
$temp = mysql_fetch_row(mysql_query("SELECT template FROM templates WHERE name = 'blog'"));
$sql = mysql_query("SELECT * FROM posts WHERE id = '".$_GET['id']."'");
while($r = mysql_fetch_array($sql)) {
$pab[0] = "/{subject}/";
$pab[1] = "/{date}/";
$pab[2] = "/{blog}/";
$rab[0] = "<a href='blog-".$r[id].".html'>".stripslashes($r[subject])."</a>";
$rab[1] = $r[date];
$rab[2] = stripslashes($r[blog])."<br /><br />";
eval (" ?>" . preg_replace($pab, $rab, stripslashes($temp[0])) . " <?php ");
}
}
?>

这是存储在数据库中的代码:

<table cellpadding='0' cellspacing='0' border='0' align='center' width='394'>
<tr>
<td><font face='Tahoma' size='4' color='#3A3A3A'><b>{subject}</b></font></td>
</tr>
<tr>
<td>{blog}</td>
</tr>
</table>

我的问题是;我怎样才能做到这一点,这样我就不需要将模板存储在我的数据库和 PHP 文件中?

最佳答案

你的意思是这样吗?

<?php

$dbhost="localhost";
$dbname="database";
$dbuser="username";
$dbpass="password";
$mysql=@mysql_select_db($dbname, @mysql_connect($dbhost, $dbuser, $dbpass)) or die (mysql_error());

if (($_GET['act'] == "blog") && (is_numeric($_GET['id']))) {
    $temp = "<table cellpadding='0' cellspacing='0' border='0' align='center' width='394'>
        <tr>
            <td><font face='Tahoma' size='4' color='#3A3A3A'><b>{subject}</b></font></td>
        </tr>
        <tr>
            <td>{blog}</td>
        </tr>
    </table>";
    $sql = mysql_query("SELECT * FROM posts WHERE id = '".$_GET['id']."'");
    while($r = mysql_fetch_array($sql)) {
       $pab[0] = "/{subject}/";
       $pab[1] = "/{date}/";
       $pab[2] = "/{blog}/";
       $rab[0] = "<a href='blog-".$r[id].".html'>".stripslashes($r[subject])."</a>";
       $rab[1] = $r[date];
       $rab[2] = stripslashes($r[blog])."<br /><br />";
       eval (" ?>" . preg_replace($pab, $rab, stripslashes($temp)) . " <?php ");
   }
}
?>

关于php - PHP 和 MySQL 中的页面模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082797/

相关文章:

java - 使用 JDBC 连接 MySQL 时出现 SQL 语法错误,提示该表不存在。 (但表存在))

css - CSS 中的重写 ID 仅显示部分图像而不是完整图像

php - 您可以在不使用 API 的情况下获得 MailChimp 兴趣小组 ID 吗?

PHP:如何防止代码的多次执行(如果它已经在进行中)

java - PHP ImageJPEG 方法,但适用于 Java

php - 如何获得自动递增的字段

MySQL:每页有多少查询太多了?

php - 学习mysqli和pdo

javascript - 管理在 JavaScript 中的动态元素中制作的计时器

javascript - 向其添加 img 时 Div 改变大小