| Дата: Вторник, 17.12.2013, 10:48 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 1530
|
<script type="text/javascript" src="http://kachay.ucoz.org/js_tree/_lib/jquery.js"></script> <script type="text/javascript" src="http://kachay.ucoz.org/js_tree/_lib/jquery.cookie.js"></script> <script type="text/javascript" src="http://kachay.ucoz.org/js_tree/_lib/jquery.hotkeys.js"></script> <script type="text/javascript" src="http://kachay.ucoz.org/js_tree/jquery.jstree.js"></script> <link type="text/css" rel="stylesheet" href="http://kachay.ucoz.org/js_tree/_docs/syntax/style.css"/> <script type="text/javascript" src="http://kachay.ucoz.org/js_tree/_docs/syntax/script.js"></script>
<div style=""> <input type="button" id="clear" value="clear" style="display:block; float:right;"/> <input type="button" id="search" value="search" rel="Root" style="display:block; float:right;"/> <input type="text" id="text" value="" rel="node" style="display:block; float:right;" /> </div> <br style="clear:both;" /> <div id="description" style="clear:both;"> <hr /> <div id="menu3" class="demo" style="width:200px;float:left;background:#fff;">
<?php $host="localhost"; $bd_user="bd_user"; $pass="pass"; $bd_name="bd_name"; $link = mysql_connect($host,$bd_user,$pass); mysql_select_db($bd_name, $link) or die(mysql_error()); mysql_query("SET CHARACTER SET 'utf8'");
//Выбираем данные из БД $result=mysql_query("SELECT * FROM `menu`"); //Если в базе данных есть записи, формируем массив if (mysql_num_rows($result) > 0){ $cats = array(); //В цикле формируем массив разделов, ключом будет id родительской категории, а также массив разделов, ключом будет id категории while($cat = mysql_fetch_assoc($result)){ $cats_ID[$cat['ID']][] = $cat; $cats[$cat['ID_PARENT']][$cat['ID']] = $cat; } }
mysql_close ($link);
function build_tree($cats,$parent_id,$only_parent = false){ if(is_array($cats) and isset($cats[$parent_id])){ $tree = '<ul>'; if($only_parent==false){ foreach($cats[$parent_id] as $cat){ $tree .= '<li><a href="first.php?ob='.$cat['ID'].'" onclick="document.location.href=\'first.php?ob='.$cat['ID'].'\'">'.$cat['NAME'].'</a> #'.$cat['ID']; $tree .= build_tree($cats,$cat['ID']); $tree .= '</li>'; } }elseif(is_numeric($only_parent)){ $cat = $cats[$parent_id][$only_parent]; $tree .= '<li><a href="first.php?ob='.$cat['ID'].'" onclick="document.location.href=\'first.php?ob='.$cat['ID'].'\'">'.$cat['NAME'].'</a> #'.$cat['ID']; $tree .= build_tree($cats,$cat['ID']); $tree .= '</li>'; } $tree .= '</ul>'; } else return null; return $tree; }
echo build_tree($cats,0); //где 0 - ID корня ?> </div> </div> <script type="text/javascript" class="source below"> // //Код скрипта древообразного меню в виде раскрывающихся папок // $(function () { // строка кода поиска $("#search").click(function () { $("#menu3").jstree("search", $("#text").val()); };); //строка очистки поиска $("#clear").click(function () { $("#menu3").jstree("clear_search"); };); // подключение модулей скрипта $("#menu3") .jstree({ "plugins" : ["themes","html_data","ui","cookies","hotkeys", "search", "adv_search"] };) .bind("select_node.jstree", function (event, data) { // здесь можно прикрутить какие-нибудь действия при нажатии на элементы списка };) };); function open1() { $("li").attr("class","jstree-open"); } function close1() { $("li").attr("class","jstree-closed"); } </script> <br style="clear:both;" /><hr /> <button onclick="open1();">Open</button> <button onclick="close1();">Close</button>
------------------------------------------------------------------- Источник: http://phpdes.com/php/postroenie-dereva-kategorijj-na-php-rekursiya/ Рабочий пример: http://2spec.ru/map/test_menu3.php
|
|
| |
| Дата: Вторник, 17.12.2013, 11:01 | Сообщение # 2 |
Группа: Администраторы
Сообщений: 1530
| Запрос создания таблицы МЕНЮ с которой мы работаем
CREATE TABLE `menu` ( `ID` INT NOT NULL AUTO_INCREMENT , `PARENT_ID` INT NOT NULL , `NAME` VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( `ID` ) );
|
|
| |