2010-08-14 88 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);