Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> PHP -> Построение дерева иерархии с помощью PHP / MySQL


Построение дерева иерархии с помощью PHP / MySQL

Рассмотрим пример построения дерева иерархии (в развернутом виде) на основе информации из базы данных с помощью PHP и MySQL. Ключ к решению данной задачи - использование рекурсивной функции. Иерархия разделов будет храниться в таблице базы данных MySQL.

Ниже на скриншоте показана данная таблица (catalogue):

Построение дерева иерархии с помощью PHP / MySQL

  • id - первичный ключ таблицы
  • pid - id родительского раздела


Далее напишем следующий PHP-скрипт:

1. Файл dbopen.php (открывает соединение с MySQL)

<?php
  $hostName = "";
  $userName = "yura";
  $password = "yura";
  $databaseName = "tree";
  if (!($link=mysql_connect($hostName,$userName,$password))) {
 printf("Ошибка при соединении с MySQL !\\n");
 exit();
 }
  if (!mysql_select_db($databaseName, $link)) {
 printf("Ошибка базы данных !");
 exit();
 } 
?> 


2. Файл index.php (основной скрипт)

<?php 
include( "dbopen.php" ); 

function ShowTree($ParentID, $lvl) { 

global $link; 
global $lvl; 
$lvl++; 

$sSQL="SELECT id,title,pid FROM catalogue WHERE pid=".$ParentID." ORDER BY title";
$result=mysql_query($sSQL, $link);

if (mysql_num_rows($result) > 0) {
echo("<UL>\\n");
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["id"];
echo("<LI>\\n");
echo("<A HREF=\\""."?ID=".$ID1."\\">".$row["title"]."</A>"."  \\n");
ShowTree($ID1, $lvl); 
$lvl--;
}
echo("</UL>\\n");
}

}

ShowTree(0, 0); 

mysql_close($link); 

?> 


Всю работу выполняет рекурсивная функция ShowTree(). Ниже на скриншоте показан пример работы index.php:

Построение дерева иерархии с помощью PHP / MySQL

Источник: www.activex.net.ru

Ссылки по теме
HTTP Установка защиты на страницу используя MySQL и PHP
Триада PHP & MySQL & gd library - Сервис счетчиков обращений
Форум, работающий с базой данных MySQL
Пишем PHP код, устойчивый к ошибкам
 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.