Отображение списка категорий на боковой панели веб-страницы - PullRequest
1 голос
/ 31 июля 2011

PHP новичок здесь. В настоящее время я занимаюсь разработкой веб-сайта корзины покупок с использованием PHP, и мой вопрос заключается в том, как сделать листинг динамического дерева категорий на боковой панели? Потому что я понятия не имею, как это реализовать. Я сделал с добавлением категорий в базе данных.

1 Ответ

1 голос
/ 31 июля 2011

Имея ограниченную информацию о том, сколько уровней категорий вам требуется, вот пример, который может помочь?

    // create a function to get the categories
    function getCategories() {
        // query the top level categories
        $query = "SELECT catId,catName FROM categories ORDER BY catName";
        $result = mysql_query($query);
        // check that you got some results before proceeding
        if (mysql_num_rows($result)>0) {
            // create a $html variable to return from the function
            $html = '<ul class="L1-categories">';
            // loop through the results
            while ($rows = mysql_fetch_object($result)) {
                // append top level cats to your $html variable
                $html .= '<li><a href="index.php?category='.$rows->catId.'">'.$rows->catName.'</a>';
                // repeat the above query for 2nd level categories (sub cats)
                $queryL2 = "SELECT subId,subName FROM subCategories WHERE catId=".$rows->catId." ORDER BY subName";
                $resultL2 = mysql_query($queryL2);
                // check you got results
                if (mysql_num_rows($resultL2)>0) {
                    // continue appending the variable with some html that show sub cats indented
                    $html .= '<ul class="L2-categories">';
                    // loop through the sub cats
                    while ($rowsL2 = mysql_fetch_object($resultL2)) {
                        // if there were sub sub cats etc you just keep this code going deeper
                        $html .= '<li><a href="index.php?category='.$rows->catId.'&sub='.$rowsL2->subId.'">'.$rowsL2->subName.'</a></li>';
                    } // end sub cats loop
                    $html .= '</ul>';
                } // end check for results
                $html .= '</li>';
            } // end top level cats loop
            $html .= '</ul>';
        }
        return $html;
    }

    // usage
    echo getCategories();

Укажите ваши категории L1 и L2 в вашем файле CSS, как это требуется для вашей боковой панели, и вы должны быть в пути. Эти ссылки нужно будет изменить в соответствии с вашим веб-сайтом, они просто есть для примера

...