单击菜单中的链接时,如何从mysql数据库加载页面

时间:2014-06-24 19:45:13

标签: php mysql

这是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正在运行。

2 个答案:

答案 0 :(得分:0)

您可能对CakePHP感兴趣,而不是手动执行此操作。从您的问题看起来,您可能需要查看:

  1. W3Schools Primer on PHP
  2. Converting Static HTML Template to PHP
  3. PHP for the Absolute Beginner
  4. 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