1
這是我的數據庫字段。下拉列表中的所選值不應重複
cat_id | cat_name | parent | parent_id
-----------------------------------------------
1 | Electronics| -- | 0
2 | Apparels |-- |0
3 | Mens | Apparels |2
這裏是我的數據庫結構,現在我開發,如果管理員想編輯類,他可以在那裏一些基本的CRUD操作,所以當他編輯選擇的類別名稱應在下拉菜單顯示以及其他的選擇,如果他想要改變,然後他可以。我在這裏向你展示重複的類別名稱。
這裏是我的領域:
Category Name: Mens
Dropdown Menu: --Root Level--
Apparels(Selected Value)
Electronics
Apparels
--Mens
這是設計結構。這裏是我的php代碼:
<tr>
<td><h4>Update category</h4></td>
</tr>
<tr>
<td>Name:</td>
<td><?php $result=mysql_query("SELECT * from category Where cat_id='$id'");
$row=mysql_fetch_array($result)?><input type="text" value="<?php echo $row["cat_name"]; ?>" /></td>
</tr>
<tr>
<?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 1 AND `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 . ' ->', $user_tree_array);
}
}
return $user_tree_array;
}?>
<?php
$categoryList = fetchCategoryTree();
?>
<td> Category:</td><td><select name="parentcat" id="parentcat" onchange="getText(this)">
<option value="Root">--Root Level--</option>
<option selected value="<?php echo $row["parent_id"];?>"><?php echo $row["parent"];?></option>
<?php foreach($categoryList as $cl) {
?>
<option value="<?php echo $cl["id"] ?>"><?php echo $cl["name"]; ?></option>
<?php } ?>
</select>
<input type="hidden" id="catnamehidden" name="hdnCatname">