Динамический Treeview PHP - PullRequest
       4

Динамический Treeview PHP

0 голосов
/ 21 января 2010

Я хочу сделать динамическое заполненное древовидное представление из базы данных mysql на PHP. Я много искал для этого, но у меня пока нет решения (вид дерева jquery, кажется, не работает в моем контексте).

И я хочу понять, что я расширяю дерево, нажимая знак «+».

Когда я щелкаю элемент дерева, он выполняет запрос и отображает результат на той же странице.

Ты знаешь, как это реализовать?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 21 января 2010

Попробуйте с вложением <ul> <li>. Если уровень > 1, скройте его с помощью CSS и добавьте элемент +. С помощью JavaScript добавьте событие к +, которое покажет вам этот ближайший <ul> контейнер.

Edit:

<ul>
  <li>
    <a href="#">+</a>
    Element A
    <ul class="hide">
      <li>Subelement AA</li>
      <li>Subelement AB</li>
      <li>Subelement AC</li>
    </ul>
  </li>
  <li>Element B</li>
    <a href="#">+</a>
    Element C
    <ul class="hide">
      <li>Subelement CA</li>
      <li>
        <a href="#">+</a>
        Subelement CB
        <ul class="hide">
          <li>Subelement CBA</li>
          <li>Subelement CBB</li>
          <li>Subelement CBC</li>
          <li>Subelement CBD</li>
        </ul>
      </li>
      <li>Subelement CC</li>
    </ul>
  <li>Element D</li>
</ul>
0 голосов
/ 21 января 2010

У меня есть эта функциональность в моей заказной CMS.

У меня есть одна функция PHP, которая просто запрашивает базу данных и использует рекурсию. Первый параметр, переданный этой функции, является родительским, по умолчанию 0.

Поэтому, когда функция вызывается, она запрашивает базу данных для всех страниц с родительским значением 0.

При циклическом просмотре результирующего набора функция проверяет, есть ли какие-либо страницы с родительским значением идентификатора этой страницы. Если это так, он запускает новый список и извлекает записи, которые являются дочерними для этой конкретной страницы.

Вышеприведенное устанавливает рекурсивную функцию, которая выводит многоуровневый <ul>. Затем я использую плагин jQuery для преобразования этого списка в дерево файлов со значками + / - для переключения ветвей и значков типов файлов.

Надеюсь, это поможет.

...