2012-07-13 74 views
-1

我正在購買一個名爲display.php的購物車。當你瀏覽導航時,這個頁面被重複調用,總是自己調用,但是查詢新的,更具體的東西。我正在嘗試製作能夠提供前幾頁鏈接的麪包屑,但事實證明這很麻煩。如何將遞歸php麪包屑更改爲鏈接?

display.php的這一部分檢索查詢用來查找內容的「id」和麪包屑,這是之前的麪包屑字符串。 「id」始終添加到麪包屑字符串中。

$id = $_GET['id']; 
$breadcrumbs=$_GET['breadcrumbs']; 
$breadcrumbs = $breadcrumbs." > ".$id; 
echo $breadcrumbs 

,作爲標識變量用於查詢的東西,被生成的鏈接去一遍,但查詢新的東西,並採取麪包屑字符串它Display.php的。 <a href="http://www.myurl.com/display.php?id='.$name.'&depth='.$sub_level.'&breadcrumbs='.$breadcrumbs.'"><img src="imagen/logo1.jpg" alt="" width="100" height="100" /><br>'. $name . '</a>

每當我進入一個新頁面時,麪包屑都會顯示出來,但我怎樣才能安全地將這些字符串語句更改爲鏈接?一個不能安全地攜帶另一個字符串。我認爲如果我使用>字符作爲分隔符來爆炸breadcrumb字符串,這是可能的。我該如何解決這個問題,以便在麪包屑字符串中顯示不錯的鏈接?

$breadlist = explode(" > ", $breadcrumbs); 

    $linkarray = array(); 
    foreach $breadlist as $breadlink 
    { 
     $linkarray($j) = "<a href=display.php?id=".$breadlink($j)."?breadcrumbs=".$breadcrumbs.">".$breadlist($j).""; 
    }; 

回答

1

兩個明顯的問題(一些其他的小修正中):

  1. 您需要urlencode()您的網址。
  2. 您需要訪問與[]而不是()陣列。

下面是一個例子,讓你開始:

$breadlist = explode(" > ", $breadcrumbs); 

$linkarray = array(); 
foreach($breadlist as $breadlink) 
{ 
    $url = 'display.php?id=' . $breadlink . '&breadcrumbs='.$breadcrumbs; 
    $linkarray[] = '<a href="' . urlencode($url) . '">' . $breadlink . '</a>'; 
} 
+0

此代碼是非常有用的,幾乎完美地工作在自己。非常感謝你,並將我介紹給urlencode()。我只需要做兩個調整。首先,我在鏈接文本的末尾添加了一個>。然後我做了另一個foreach來回應他們:foreach($ linkarray as $ onelink) { \t echo $ onelink; } – Dakkadakka 2012-07-13 17:19:26

+0

如果你想變得聰明,你可以像這樣在一行中回顯它們:'echo implode('',$ linkarray);'。完成! – nickb 2012-07-13 17:24:38