2010-08-19 131 views
-2

我有這個腳本循環制作一個類別樹。但我希望它顯示用戶在下面的示例中選擇的特定類別。在旁邊注意腳本循環爲了建立到類別的URL鏈接。PHP&MySQL問題

我想我想說的是,我只是想知道如何顯示特定的類別和完整的網址?

這裏是例子。

Found In Category: Books & Authors, Html, Web design 

這是我的PHP腳本。

function make_list ($parent = 0, $parent_url = '') { 
    global $link; 
    echo '<ol>'; 

    foreach ($parent as $id => $cat) { 
     $url = $parent_url . $cat['url']; 
     echo '<li><a href="' . $url . '" title="' . $cat['category'] . ' Category Link">' . $cat['category'] . '</a>';   

     if (isset($link[$id])) { 
      make_list($link[$id], $url); // $url adds url value to sub categories 
     }    
     echo '</li>'; 
    }  
    echo '</ol>'; 
} 

$mysqli = mysqli_connect("localhost", "root", "", "sitename"); 
$dbc = mysqli_query($mysqli,"SELECT * FROM categories ORDER BY parent_id, category ASC"); 
if (!$dbc) { 
    print mysqli_error(); 
} 

$link = array(); 

while (list($id, $parent_id, $category, $url) = mysqli_fetch_array($dbc)) { 
    $link[$parent_id][$id] = array('category' => $category, 'url' => $url); 
} 

make_list($link[0]); 
+1

我不知道我理解的問題。這裏你的問題到底是什麼?也許你可以更新你的問題的標題,因爲它目前沒有真正描述問題。 – 2010-08-19 08:39:52

+0

我會怎麼稱呼我的標題?我如何顯示特定類別及其完整網址? – helloWORLD 2010-08-19 08:42:36

+0

如果您嘗試更新問題以更清晰地反映您確切的問題是什麼,也許會更好。之後,製作相應的標題也將變得更加容易。 – 2010-08-19 08:49:29

回答

0

如果你不想顯示所有類別,但只有一個(如果我理解正確的)變化:

$dbc = mysqli_query(
    $mysqli,"SELECT * FROM categories ORDER BY parent_id, category ASC" 
); 

$cat = mysqli_real_escape_string($_POST['selectedCategory']); 
$dbc = mysqli_query(
    $mysqli, 
    "SELECT * FROM categories WHERE category = '$cat' ORDER BY parent_id, category ASC" 
); 

編輯:縮進的可讀性

編輯2:

對於多個類別,你會使用

WHERE category IN('x', 'y', 'z') 

請糾正我,如果你沒問別的東西:)

+0

這將弄亂我的類別URL我如何修復URL。 – helloWORLD 2010-08-19 08:55:21

+0

我真的不知道如何,因爲該網址是你選擇的每一行的一部分,但也許這就是我...沒有任何樣本數據我不認爲我有任何更多的想法 – edorian 2010-08-19 08:58:46

+0

每一行都有一部分的url&cat = 2'等等 – helloWORLD 2010-08-19 09:01:05