Hi i can’t navigate the way i want to in my submenus. The loop goes to far. And i have some problem showing where you are in the menu.
Can someone please guide me in the right direction.
SQL table looks like this:
ID NAME parent_category
1 some_name 0
2 some_name2 0
3 sub_category 1
4 sub_sub_category 3
php code :
[code=php]function displayChildren($parent,$orginal = “”)
{
$result = mysql_query(“SELECT * FROM `kategorier` WHERE `parent_category` = $parent”);
echo “<ul>”;
while($item = mysql_fetch_object($result))
{
// echo “parent = $parent id = $item->id”;
if ($orginal == $item->id) {
echo “<li> – <a href=getcat.php?id=”.$item->id.”><b>” . $item->namn . “</b></a> id: “.$item->id.”</li>”;
} else {
echo “<li> – <a href=getcat.php?id=”.$item->id.”>” . $item->namn . “</a> id: “.$item->id.”</li>”;
}
// echo “orignal = $orginal. id = $item->id . Parent = $parent”;
if ($orginal == $item->id && $item->id != $parent) {
displayChildren($item->id,$orginal);
}
}
echo “</ul>”;
}
function getmainid($parent)
{
$sql = mysql_query(“SELECT * FROM `kategorier` WHERE `id` = $parent”) or die (mysql_error());
while($sqlrow=mysql_fetch_object($sql)){
$nyttid = $sqlrow->parent_category;
if ($sqlrow->type == “huvud”) {
$id = $sqlrow->id;
} else {
$id = getmainid($nyttid);
}
}
return $id;
}
// Skriver ut själva menyn
$id = $_GET[“id”];
$menu = mysql_query(“SELECT * FROM `kategorier` WHERE `parent_category` = 0”) or die (mysql_error());
echo “<ul>”;
while($item = mysql_fetch_object($menu))
{
$currentid = getmainid($id);
if ($currentid == $item->id) {
echo “<li><a href=getcat.php?id=”.$item->id.”><b>” . $item->namn . “</b></a> id: “.$item->id.”</li>”;
}else {
echo “<li><a href=getcat.php?id=”.$item->id.”>” . $item->namn . “</a> id: “.$item->id.”</li>”;
}
if ($item->id != $currentid)
continue;
$**** = displayChildren($item->id,$id);
print_r ($****);
}
echo “</ul>”;function displayChildren($parent,$orginal = “”)
{
$result = mysql_query(“SELECT * FROM `kategorier` WHERE `parent_category` = $parent”);
echo “<ul>”;
while($item = mysql_fetch_object($result))
{
// echo “parent = $parent id = $item->id”;
if ($orginal == $item->id) {
echo “<li> – <a href=getcat.php?id=”.$item->id.”><b>” . $item->namn . “</b></a> id: “.$item->id.”</li>”;
} else {
echo “<li> – <a href=getcat.php?id=”.$item->id.”>” . $item->namn . “</a> id: “.$item->id.”</li>”;
}
// echo “orignal = $orginal. id = $item->id . Parent = $parent”;
if ($orginal == $item->id && $item->id != $parent) {
displayChildren($item->id,$orginal);
}
}
echo “</ul>”;
}
function getmainid($parent)
{
$sql = mysql_query(“SELECT * FROM `kategorier` WHERE `id` = $parent”) or die (mysql_error());
while($sqlrow=mysql_fetch_object($sql)){
$nyttid = $sqlrow->parent_category;
if ($sqlrow->type == “huvud”) {
$id = $sqlrow->id;
} else {
$id = getmainid($nyttid);
}
}
return $id;
}
// Skriver ut själva menyn
$id = $_GET[“id”];
$menu = mysql_query(“SELECT * FROM `kategorier` WHERE `parent_category` = 0”) or die (mysql_error());
echo “<ul>”;
while($item = mysql_fetch_object($menu))
{
$currentid = getmainid($id);
if ($currentid == $item->id) {
echo “<li><a href=getcat.php?id=”.$item->id.”><b>” . $item->namn . “</b></a> id: “.$item->id.”</li>”;
}else {
echo “<li><a href=getcat.php?id=”.$item->id.”>” . $item->namn . “</a> id: “.$item->id.”</li>”;
}
if ($item->id != $currentid)
continue;
$**** = displayChildren($item->id,$id);
print_r ($****);
}
echo “</ul>”;