2010-08-14 67 views
0

我有一个漂亮的网页,包括这里的系统是它页,包括与MySQL在PHP

if(isset($HTTP_GET_VARS['mod'])) 
{ 
$page = $HTTP_GET_VARS['mod']; 
} 
else 
{ 
$page = 'home'; 
} 

switch($page) 
{ 

     case 'home': 
     require('home.php'); 
     break; 


     default: 
     echo('Error: There is no file on this server with that name'); 
     } 


      } 

我想获得的情况下,需要从数据库称为页面的代码有2场名称,链接我试图让所有的结果从表所以它会显示它不是从你的问题特别清晰的页面

+0

我读不懂你的问题不是我能理解句子不缺少标点也 – 2010-08-14 18:53:43

+0

,你有什么问题吗? – 2010-08-14 18:55:49

回答

2

,但我对它的解读是你希望的方式来检查$page任何价值针对数据库表中的链接值(pages?),无havi ng将所有可能的值写入您的switch声明中,

如果我的理解是正确的,那么下面是一个快速和肮脏的函数,应该让你这样做。在一个实时的,流量很大的环境中,你显然需要构建缓存,因此每个页面加载都不会触及数据库,以及强大的输入验证,这两者都不在下面的演示中,但这应该至少为您提供一个下一步去哪里的想法。

常见的库文件:

/** 
* Given a page name, see if we have an associated 
* link in the db. 
* If so, return the link value, else false 
*/ 
function getTemplate($page) 
{ 
    // Check db to see if we have a link for this page 
    // On heavy-traffic sites, this should be cached out 
    $query = sprintf("SELECT link FROM pages WHERE name = '%s'", 
      mysql_real_escape_string($page)); 
    $result = mysql_query($query, $db_cnx); 

    // Have we any results? 
    if (mysql_num_rows($result) > 0) 
    { 
     // Assumption: 'name' is unique in the db 
     $row = mysql_fetch_assoc($result); 
     return $row['link']; 
    } 
    else 
    { 
     return false; 
    } 
} 

的header.php:

include('common.lib.php'); 
if(isset($HTTP_GET_VARS['mod'])) 
{ 
    $page = $HTTP_GET_VARS['mod']; 
} 
else 
{ 
    $page = 'home'; 
} 

// Check whether our page has a link in the db 
$template = get_template($page); 

if($template) 
{ 
    require($template); 
} 
else 
{ 
    // Got false back from get_template, no link found 
    echo('Error: There is no file on this server with that name'); 
} 
0
$server_db = "YOUR_SERVER_DB"; 
$user_db = "YOUR_USER_DB"; 
$password_db = "YOUR_PASSWORD_DB"; 
$db_name = "YOUR_DB_NAME"; 
$table = "YOUR_TABLE_NAME"; 

$link = mysql_connect($server_db,$user_db,$password_db); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db($db_name); 
$sql = sprintf("select Name, Link from %s",$table); 
$rs = mysql_query($sql,$link); 
while($row = mysql_fetch_assoc($rs)) { 
    echo "<a href='".$row['Link']."'>".$row['Name']."</a>"; 
} 
mysql_free_result($rs); 
mysql_close($link);