Click here to Skip to main content
15,889,595 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have a multi-level category sidebar, created in PHP all work great but when I click any subcategory page load and the sidebar collapse. how can I show the active category after page load using Javascript or PHP?

What I have tried:

<div id="accordian"><br />
   <ul class="nav nav-item d-block" id="nav"><br />
   <?php<br />
   //sidebar category<br />
   $cat_id = get_save_data($connection, $_GET['cat_id']);<br />
   echo multilevel($connection, 0, $cat_id);<br />
   ?><br />
   </ul><br />
</div>

I used a recursive function to fetch the category below is the code
PHP
function multilevel($connection, $parent = 0, $cat_id)
{

    $side = '';
    $sql = '';
    if ($parent == 0) {
        $sql =  "SELECT * FROM `categorys` WHERE parent_id = 0 ANd  cats_status = 1 ORDER BY cats_name ASC";
    } else {
        $sql =  "SELECT * FROM `categorys` WHERE parent_id = $parent ANd  cats_status = 1 ORDER BY cats_name ASC";
    }

    $result =  mysqli_query($connection, $sql);

    while ($row = mysqli_fetch_assoc($result)) {
       
        if ($row['parent_id'] == 0) {
            $side .= "<li class='categorys'>
                        <h3>
                            <a href='?cat_id=" . $row['cats_id'] . "' id='" . $row['cats_id'] . "' class='nav-link'>" . $row['cats_name'] . "</a>
                        </h3>";
        } else {
            $side .= "<li class='categorys'>
                        <h3>
                            <a href='?cat_id=" . $row['cats_id'] . "' id='" . $row['cats_id'] . "' class='nav-link'>" . $row['cats_name'] . "</a>
                        </h3>";
        }

        $side .= "<ul class='nav nav-link collapse' id='submenu'>" . multilevel($connection, $row['cats_id'], $row['cats_id']) . "</ul>";
        $side .= "</li>";
    }

    return $side;
}

I tried some jquery, but it's not working properly
https://stackoverflow.com/questions/16288063/jquery-accordion-menu-keep-selected-menu-open
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900