Почему я бросил вести этот сайт! Потому, что система ведет себя по-хамски по отношению к посетителям сайта, навязывая последним бесконечное количество баннеров-заглушек контента, особенно пришедшим с мобильных устройств!
Построение иерархического меню на php + js
DownLoad_Free

Построение иерархического меню на php + js - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



  • Страница 1 из 1
  • 1
Построение иерархического меню на php + js
Дата: Вторник, 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` )
);

 
  • Страница 1 из 1
  • 1
Поиск:


Copyright kachay.ucoz.org © 2008-2024Хостинг от uCoz
^ Наверх ^
Пригодилось!