За последние 24 часа нас посетили 16922 программиста и 2175 роботов. Сейчас ищут 879 программистов ...

структурированные комментарии

Тема в разделе "PHP для новичков", создана пользователем gkhelloworld, 3 июл 2010.

  1. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    сейчас пытаюсь реализовать структурированные комментарии..подскажите как быть...

    HTML:
    1.  
    2. <ul>
    3.    <li>просто Комментарий 1</li>
    4.       <ul>
    5.          <li>комментарий 2, ответ на Комментарий 1</li>
    6.          <ul>
    7.           <li>комментарий 3, ответ на Комментарий 2</li>
    8.        </ul>
    9.       </ul>
    10. </ul>
    11.  
    12. <ul>
    13.    <li>просто комментарий 4</li>
    14.  <ul>
    15.  
    Код (Text):
    1.     *  просто Комментарий 1
    2.           * комментарий 2, ответ на Комментарий 1
    3.                 * комментарий 3, ответ на Комментарий 2
    4.  
    5.     * просто комментарий 4
    как реализовать такие комментарии...что нужно учитывать в БД ? и как правильно вывести в PHP?
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  3. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    суди по скрипту я двигаюсь правильно в БД... теперь остался вывод из БД
     
  4. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    мде... пока все еще не понятно
    а как по вашему можно такое ответ разбить структурировано?

    # [commid] => 7 // ID комментария
    # [uid] => 14
    # [id] => 54
    # [excerption] => 6 // принадлежит комментарию
    # [comment] => text
    # [rating] => 0
    # [type] => news
    # [condition] => 2
    # [putdate] => 2010-07-03 14:07:51

    PHP:
    1. <?php
    2.  
    3.     Array
    4. (
    5.     [0] => stdClass Object
    6.         (
    7.             [commid] => 1
    8.             [uid] => 14
    9.             [id] => 54
    10.             [excerption] => 0
    11.             [comment] => Привет это первый комментарий 1
    12.             [rating] => 0
    13.             [type] => news
    14.             [condition] => 2
    15.             [putdate] => 2010-07-03 12:21:11
    16.         )
    17.  
    18.     [1] => stdClass Object
    19.         (
    20.             [commid] => 2
    21.             [uid] => 14
    22.             [id] => 54
    23.             [excerption] => 1
    24.             [comment] => Это ответ к 1 комментарию
    25.             [rating] => 0
    26.             [type] => news
    27.             [condition] => 2
    28.             [putdate] => 2010-07-03 12:21:26
    29.         )
    30.  
    31.     [2] => stdClass Object
    32.         (
    33.             [commid] => 3
    34.             [uid] => 14
    35.             [id] => 54
    36.             [excerption] => 2
    37.             [comment] => Это ответ к 2 саб комментарию
    38.             [rating] => 0
    39.             [type] => news
    40.             [condition] => 2
    41.             [putdate] => 2010-07-03 12:26:44
    42.         )
    43.  
    44.     [3] => stdClass Object
    45.         (
    46.             [commid] => 4
    47.             [uid] => 14
    48.             [id] => 54
    49.             [excerption] => 1
    50.             [comment] => Это второй ответ к 1 комментарию
    51.             [rating] => 0
    52.             [type] => news
    53.             [condition] => 2
    54.             [putdate] => 2010-07-03 12:30:07
    55.         )
    56.  
    57.     [4] => stdClass Object
    58.         (
    59.             [commid] => 6
    60.             [uid] => 14
    61.             [id] => 54
    62.             [excerption] => 0
    63.             [comment] => Второй коммент2
    64.             [rating] => 0
    65.             [type] => news
    66.             [condition] => 2
    67.             [putdate] => 2010-07-03 12:32:11
    68.         )
    69.  
    70.     [5] => stdClass Object
    71.         (
    72.             [commid] => 7
    73.             [uid] => 14
    74.             [id] => 54
    75.             [excerption] => 6
    76.             [comment] => text
    77.             [rating] => 0
    78.             [type] => news
    79.             [condition] => 2
    80.             [putdate] => 2010-07-03 14:07:51
    81.         )
    82.  
    83. )
    84.  
    85.  
    86. ?>
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    для такого дела лучше использовать материальные пути
    типа
    1
    1-1
    1-2
    1-1-1
    1-1-2
    2
    2-1
    2-2
    2-2-1

    далее просто сортировать по этому полю.
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Стандартный алгоритм вложенных структур.
     
  7. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    эм... :?:
     
  8. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  9. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    Apple , благодарю
     
  10. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    блин...все перечитал но так и не пришел к общему выводу...

    не подходит http://dev.mysql.com/tech-resources/art ... -data.html
    тут нужно из выше упомянутого массива сделать дерево..
    буду признателен если кто-то из этого массива сделает иерархию

    PHP:
    1. <?php
    2. $ar = array(array('cat_id'=>1,"parent_id"=>0,"cat_name"=>"Soft"),
    3. array('cat_id'=>2,"parent_id"=>1,"cat_name"=>"Office"),
    4. array('cat_id'=>3,"parent_id"=>1,"cat_name"=>"iWork"),
    5. array('cat_id'=>4,"parent_id"=>0,"cat_name"=>"Hard"),
    6. array('cat_id'=>5,"parent_id"=>4,"cat_name"=>"Mac"),
    7. array('cat_id'=>6,"parent_id"=>4,"cat_name"=>"PC"));
    8.  
    9.  
    10.  
    11.  
    12.  
    13.     $list = NULL;
    14.         while($a = each($ar))
    15.         {
    16.             $list .= "<ul>".$a['value']['cat_id']." * ".$a['value']['parent_id']." ^ ".$a['value']['cat_name']."</ul>";
    17.         }
    18.            echo $list;
    19. ?>
    как-то это превратить в иерархию...
    //
     
  11. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  12. gkhelloworld

    gkhelloworld Активный пользователь

    С нами с:
    18 ноя 2007
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    PHP.ru
    да тут такое не пройдёт...