2010-08-16 49 views
0

我有一個數組,用於動態創建表。 我有一個名稱=值對(Server = server.alias),這些值正在被提取,並且想要將其超鏈接到另一個網頁。php - 帶有href鏈接的動態地圖表行

我需要幫助的是找出代碼來映射別名與特定的href鏈接,我想我將不得不硬編碼。對於每個別名,href鏈接是不同的,所以這裏沒有模式。

if if語句適合這個嗎?任何其他建議要做到這一點?謝謝。

預期輸出:

Server 
---------------- 
server1.alias <-- hreflink = http://server1.name.com:/9999 
server2.alias <-- hreflink = http://server2.name.colo.com:/2999 

到目前爲止我的代碼生成的動態行是這樣的:

$keys = array('Server');                
echo '<table><tr>';        
foreach ($keys as $column) 
    echo '<th>' . $column . '</th>'; 
    echo '</tr>'; 

foreach ($data as $row){ 
    echo '<tr>';           
    foreach ($keys as $column)     
     if (isset($row[$column])){                 
      echo '<td>' . $row[$column]; 
      } else { 
      echo '<td>' . '' . '</td>'; 
     } 
} 
echo '</table>'; 

回答

1

我認爲,關鍵要解決的問題是,您需要了解更多信息能夠用foreach創建你想要的列表。我的建議是使用這樣的:

$server_array = array(
    'server1' => array(
    'alias' => 'server1.alias', 
    'href' => 'http//server1.name.com' 
), 
    'server2' => array(
    'alias' => 'server2.alias', 
    'href' => 'http//server2.name.colo.com' 
) 
); 

你絕對需要你的陣列中的所有信息,否則,你就永遠無法做你想做的。

編輯:

通過上述陣列,foreach循環會是這樣:

foreach($server_array as $server_id => $server_info) 
{ 
    echo 'Server ID: '.$server_id; 
    echo 'Server Alias: '.$server_info['alias']; 
    echo 'Server URL: '.$server_info['href']; 
} 

格式化代碼丟失,但你的想法。

+0

所以基本上,$ server_array將飼料到foreach循環?所以基本上做一個比較的名稱=值作爲一個關鍵的href?謝謝。 – cjd143SD 2010-08-16 21:34:44

+0

我編輯了我的答案,添加了您需要打印所有內容的foreach示例。讓我知道它是否有幫助。 – Gabriel 2010-08-17 13:09:58