这是index.php的代码
<?php
include("header.php");
$page = isset($_GET['page']) ? trim(strtolower($_GET['page'])) : "home";
$allowedPages = array(
'home' => './home.php',
'news' => './news.php',
'contact' => './contact.php',
'faq' => './faq.php'
);
include( isset($allowedPages[$page]) ? $allowedPages[$page] : $allowedPages["home"] );
include("footer.php");
?>
目前工作链接使用超链接从根文件夹打开预创建的页面(home.php,news.php,contactus.php,faq.php):
<li><a href="index.php?page=home">Home</a></li>
<li><a href="index.php?page=news">News</a></li>
<li><a href="index.php?page=contact">Contact us</a></li>
<li><a href="index.php?page=faq">FAQ</a></li>`
但问题是我希望根据mysql数据库中的数据动态创建页面 我有一个名为 aviumpages 的数据库 里面有一个名为 pages 的表格。 表格中有一些名为 id(INT), linklabel(VARCHAR), pagecontent(TEXT)的列。
我已经插入链接标签,例如主页,新闻,联系我们和常见问题解答。 那么如何从数据库加载动态创建的页面呢?
我也有mysql_connect.php正在运行。
答案 0 :(得分:0)
您可能对CakePHP感兴趣,而不是手动执行此操作。从您的问题看起来,您可能需要查看:
CakePHP与许多模板引擎很好地集成,并且具有您需要使用的集成数据库连接,但在您跳转到Cake之前,请手动完成Primer。
答案 1 :(得分:0)
重写是非罐装的直观流程
include("header.php");
if(!dbconnect($params)) {error(); exit;}
$allowedPages = array(
'home' => './home.php',
'news' => './news.php',
'contact' => './contact.php',
'faq' => './faq.php'
if(!isset($_GET['page'])||!array-key-exists(trim(strtolower($_GET['page'])),$allowedPages)){
// fetch your home() data
include($allowedPages['home'])
}else{
$page = trim(strtolower($_GET['page']));
// fetch your $page() data // yeah, you can do that!
include($allowedPages[$page]);
}
include("footer.php");
HTML
是的,你可以做到这一点〜
function trythis(){
echo "hello world";
}
$var = $_GET['var'];
$var();
filename.php?VAR = trythis