есть несколько функций-получение массива и вывод полученного с помощью рекурсивной функции..вот код функций:
| Код | //Функция получения массива каталога function get_cat() { //запрос к базе данных $sql = "SELECT * FROM menu"; $result = mysql_query($sql); if(!$result) { return NULL; } $arr_cat = array(); if(mysql_num_rows($result) != 0) {
//В цикле формируем массив for($i = 0; $i < mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result,MYSQL_ASSOC);
//Формируем массив где ключами являются айдишники на родительские категории if(empty($arr_cat[$row['parent_id']])) { $arr_cat[$row['parent_id']] = array(); } $arr_cat[$row['parent_id']][] = $row; } //возвращаем массив return $arr_cat; } }
//вывод каталогa с помощью рекурсии function view_cat($arr,$parent_id = main) {
//Условия выхода из рекурсии if(empty($arr[$parent_id])) { return; }
echo "<ul>"; //перебираем в цикле массив и выводим на экран for($i = 0; $i < count($arr[$parent_id]);$i++) { echo "<li><a href=\"?category_id={$arr[$parent_id][$i]['title_url']}&parent_id= {$parent_id}\"" .($category_id == $arr[$parent_id][$i]['title_url'] ? ' class="menu-active"':'') .">{$arr[$parent_id][$i]['title']}</a>"; //рекурсия - проверяем нет ли дочерних категорий view_cat($arr,$arr[$parent_id][$i]['title_url']); echo "</li>"; } echo "</ul>";
}
|
вывод происходит в файле site.php, примерно так-
| Код | //получаем массив каталога $result = get_cat();
//Выводим каталог на экран с помощью рекурсивной функции echo '<div id="header">'; echo '<img class="logo" src="images/logo.png">'; echo '<img class="yab" src="images/yab1.png">'; echo '<div id="menu">'; $menu = view_cat($result); echo '</div>'; echo '</div>';
|
крутил разные значения,например
| Код | $category_id == $arr[$parent_id][$i]['title_url']
|
или
| Код | $category_id == $_GET['title_url']
|
ничего не выходит...помогите понять как задать условие правильно-чтоб активному пункту меню соответствовал класс со стилем:"menu-active"...в параметры url попадает значение :
| Код | $category_id == $arr[$parent_id][$i]['title_url']
|
....как я понимаю...я совсем новичок ....подскажите почему не выходит?...заранее спасибо... |