2016-08-31 20 views
2

これは、nレベルカテゴリを作成するための私のコードです。 カテゴリツリーからのドロップダウンで選択されたカテゴリ値

$id=$_GET['id']; 
<td> Category:</td><td><select name="parentcat" id="parentcat" onchange="getText(this)"> 

    <option selected value="Root">--Root Level--</option> 
     <?php 
    foreach($categoryList as $cl) { 
     ?> 
     <option value="<?php echo $cl["id"] ?>"><?php echo $cl["name"]; ?></option> 
    <?php } ?> 

ドロップダウン

内のすべてのカテゴリを表示する

function fetchCategoryTree($parent = 0, $spacing = '', $user_tree_array = '') { 

    if (!is_array($user_tree_array)) 
     $user_tree_array = array(); 

    $sql = "SELECT `cat_id`, `cat_name`, `parent_id` FROM `category` WHERE `parent_id` = $parent ORDER BY cat_id ASC"; 
    $query = mysql_query($sql); 
    if (mysql_num_rows($query) > 0) { 
     while ($row = mysql_fetch_object($query)) { 
      $user_tree_array[] = array("id" => $row->cat_id, "name" => $spacing . $row->cat_name); 
      $user_tree_array = fetchCategoryTree($row->cat_id, $spacing . '&nbsp;-', $user_tree_array); 
     } 
    } 
    return $user_tree_array; 
} 

$categoryList = fetchCategoryTree(); 

は今、私はドロップダウンリストで選択した親の名前を表示するように望んでいました。カテゴリ名がLaptopの場合、親の名前は'Electronicsになります。エレクトロニクスをドロップダウンで見せたい。

私のデータベースは次のようになります:私はLaptopsを選択した場合

 
cat_id | cat_name | parent_id 
------------------------------- 
1  | Electronics| 0 
------------------------------- 
2  | Laptops | 1 

私はドロップダウンリストで、このElectronicsをしたいです。

+0

ノートパソコンの親が電子機器であると判断する方法は? – Pirate

答えて

0

どこが選択されているかをどのように知っていますか? $ _GET ['id']の例

function searchForId($id, $array) { 
    foreach ($array as $key => $val) { 
    if ($val['id'] === $id) { 
     return true; 
    } 
    } 
    return null; 
} 

$selected_id = (int)$_GET['id']; 
?> 
<option <?=(searchForId($selected_id,$categoryList))?'selected':''?> value="Root">--Root Level--</option> 
<?php 
foreach($categoryList as $cl) { 
?> 
    <option value="<?php echo $cl["id"] ?>"><?php echo $cl["name"]; ?></option> 
<?php } ?> 
+1

はい私はこれによって価値を得ています:$ id = $ _ GET ['id]; –

+0

さて、私の例を試してみてください:) – Provie9

+0

申し訳ありませんが、動作していません、それは私にドロップダウンのすべての結果を与えています –

関連する問題