1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

вложенные таблицы

Тема в разделе "Web - программирование", создана пользователем CasperKZ, 7 апр 2011.

  1. CasperKZ

    CasperKZ Гость

    Репутация:
    0
    Всем привет!
    Ситуация такая, может кто сможет помочь

    Есть php скрипт который вытаскивает значение из базы данных и делает из него список сворачивающийся. почти то что мне нужно. Но уже неделю бьюсь, не могу сделать так чтобы у каждого нового вложения был свой заголовок... Чтобы понятней было, вот картинка, что в итоге примерно должно получиться, только вложенность не ограниченная.

    http://s56.radikal.ru/i151/1104/77/9143f9733291.png
    PHP:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
    <script language="javascript">
    <!--
    var t,lit,i; 
    function tree(liter) { 
    lit=liter;// 
    i=1;//
    t = setInterval(show, 2); ///  
    //t = show();
    }
    function show() {
    var el;
    if(el = document.getElementById(lit + "." + i)) {
    el.style.display = (el.style.display == 'block')?'none':'block';
    i++;
    }
    else clearInterval(t);
    }
    -->
    </script>
    </head>
    <body>
    <?php 
    $host 
    "localhost";
    $namedb "vmode_ps"
    $user_login "vmode_ps";
    $user_password "1q2w3e4r5t"

    $db mysql_connect($host$user_login$user_password) or die(mysql_error());
    mysql_select_db($namedb$db) or die(mysql_error());
    @
    mysql_query ("SET NAMES `cp1251`"); 

    $sql_pid "SELECT DISTINCT pid FROM tb_servers";
    $result_sql_pid mysql_query($sql_pid$db); 
    $pid_arr = array();
    while (
    $row_result_sql_pid mysql_fetch_array($result_sql_pid))
    {
    $pid_arr[] = $row_result_sql_pid['pid'];
    }


    function 
    ShowTree($ParentID$lvl) { 

    global 
    $name_res;
    global 
    $ip_res;
    global 
    $db
    global 
    $lvl;
    global 
    $pid_arr;
    $lvl++; 

    $sSQL="SELECT id,name,pid,ip FROM tb_servers WHERE pid=".$ParentID."";
    $result=mysql_query($sSQL$db);

    if (
    mysql_num_rows($result) > 0) {

    echo(
    "<ul>\n");
    while ( 
    $row mysql_fetch_array($result) ) {    
    $ID1 $row["id"];
    $i++;
    if (
    in_array($ID1$pid_arr)){
    $pref "-PARENT";
    $style1 "onclick=\"tree('".$ID1."')\"";
    }
    if (!
    in_array($ID1$pid_arr) || $lvl >= 2){
    $style2 "id='".$row['pid'].".".$i."' style='display: none';";
    }
    echo(
    "<li ".$style2.">\n");     
    echo(
    "<a ".$style1." title='".$row["name"]."'>".$row["name"]./*$pref."-LVL-".$lvl.*/"</a>"." \n");

    ShowTree($ID1$lvl); 
    $lvl--;
    }
    echo(
    "</ul>\n");

    }
    }

    ShowTree(00);
    ?>
    </body>
    </html>
    Нужно 1. у каждого уровня вложенности свой заголовок вывести
    Нужно 2. вложенные элементы сделать таблицами, чтобы красивей было
    Может кто помочь? а то не могу уже думать над ним(
     
  2. typak

    typak Гость

    Репутация:
    0
    Вначале бд спроектируй шоб внешний ключь был, а дальше добавляй в бд
    так шоб каждому уровню соответствовал внешний ключ уровня,
    а каждому подуровню первичный ключь уровня,
    Кароче када вставляеш данные ключи подставляеш в запросы соответственно: уровень - ключь уровня подуровень - пк уровня
    подподуровень - пк подуровня ..... итд.


    а затем вытаскивай из бд вначале уровени по вк уровней(вместе с ним и заголовки и всё шо хочеш),
    а потом подуровни по внешнему ключу подуровня тоесть первичному ключю соответствующего уровня(полностью строку)
    Вообщем формируеш ссылку типа уровень ? пк уровня ; подуровень пк подуровня итд апять-же в запрос подставляеш вместо внешнего ключа подуровня пк уровня......итд

    Вообщем в двух строчках сам принцип такой какой знаю.
    Мож есть и по другому строят незнаю.?!
     
Загрузка...

Поделиться этой страницей