За последние 24 часа нас посетил 17781 программист и 1703 робота. Сейчас ищут 946 программистов ...

Лесенка

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

  1. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Здрасте, понимаю что вопрос больше относится к хтмл, но как организовывается лесенка в ответах на комментарий? Какой принцип?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ставь FireFox, заходи в меню Инструменты->Дополнения, вбивай в поиске firebug, устанавливай и разглядывай чужой хтмл и цсс в одном флаконе. Это что называется must have.
     
  3. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Кто может помочь рекурсию сделать?
    PHP:
    1. <?
    2. $post = htmlspecialchars($_GET['file']);
    3.   $c=mysql_query("SELECT id,author,text,date,children FROM comments WHERE post='$post' AND children = '0' ORDER BY id DESC");
    4.   echo '<div class="start">Комментарии ('.mysql_num_rows($c).')</div>';
    5.   while($k=mysql_fetch_assoc($c)) {
    6.     $h=getava($k['author'],$cmm);
    7.  
    8.     echo '
    9.  <div class="top">
    10.  <div  class="bg">
    11.  <div class="tb">
    12.  <div class="lb">
    13.  <div class="rb">
    14.  <div class="tl">
    15.  <div class="tr">
    16.  <div class="bb">
    17.  <div class="br">
    18.  <div class="bl">
    19.  <div class="com_text">
    20. <a name="comment'.$k['id'].'"></a>
    21. '.$k['text'].'
    22.  </div>
    23.  </div>
    24.  </div>
    25.  </div>
    26.  </div>
    27.  </div>
    28.  </div>
    29.  </div>
    30.  </div>
    31.  </div>
    32. <div class="info">
    33. <a href="/index.php?ucp='.$k['author'].'"><img src="'.$h['avatar'].'" alt="avatar" class="avatar" width="24px"/></a>
    34. <p><a href="/index.php?ucp='.$k['author'].'" class="author">'.$k['author'].'</a>&nbsp;&nbsp;&nbsp;<a href="/index.php?file='.$_GET['file'].'#comment'.$k['id'].'" class="tocomment">#</a></p>
    35. <li class="date">'.$k['date'].'</li>
    36. </div>
    37. </div>
    38. ';
    39.  
    40.   }
    41. ?>
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а что в чилдрене живет?

    ихмо лучше сначла забить массивы сделав полную выборку, потом их отрисовать. Не?
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1.  <pre>
    2.  <?php
    3.  for ($i = 6, $s = ' '; --$i; $s .= '  ') echo "_\n$s|";
    4.  ?>
    5.  </pre>
     
  6. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    В чилдроне живут ид комментариев, на которые ответили.
     
  7. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Каким образом отфильтровать так чтобы в цикле просто комментарии и ответы на них не повторялись и выводились под тем комментарием куда ответили?
     
  8. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    PHP:
    1. <?
    2. if(!defined('ADMIN')) die('HACKING ATTEMP');
    3. function tree($sart) {
    4.   $post = htmlspecialchars($_GET['file']);
    5.   $sql="SELECT id,author,text,date,children FROM comments WHERE post=$post AND children=$sart ORDER BY id DESC";
    6.   $c=mysql_query($sql);
    7.   while($k=mysql_fetch_assoc($c)) {
    8.     $h=getava($k['author'],$cmm);
    9.     if($k['children'] <> 0) {$padd='style="padding-left:40px;"';}
    10.     echo '
    11.  <div class="top" '.$padd.'>
    12.  <div  class="bg">
    13.  <div class="tb">
    14.  <div class="lb">
    15.  <div class="rb">
    16.  <div class="tl">
    17.  <div class="tr">
    18.  <div class="bb">
    19.  <div class="br">
    20.  <div class="bl">
    21.  <div class="com_text">
    22. <a name="comment'.$k['id'].'"></a>
    23. '.$k['text'].'
    24.  </div>
    25.  </div>
    26.  </div>
    27.  </div>
    28.  </div>
    29.  </div>
    30.  </div>
    31.  </div>
    32.  </div>
    33.  </div>
    34. <div class="info">
    35. <a href="/index.php?ucp='.$k['author'].'"><img src="'.$h['avatar'].'" alt="avatar" class="avatar" width="24px"/></a>
    36. <p><a href="/index.php?ucp='.$k['author'].'" class="author">'.$k['author'].'</a>&nbsp;&nbsp;&nbsp;<a href="/index.php?file='.$_GET['file'].'#comment'.$k['id'].'" class="tocomment">#</a></p>
    37. <li class="date">'.$k['date'].'</li>
    38. </div>
    39. </div>
    40. ';
    41. tree($k['id']);
    42. }
    43.   }
    44.   tree(0);
    45. ?>
    Как теперь расфосавать ответы к нудным комментариям?
     
  9. vl25

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

    С нами с:
    30 янв 2009
    Сообщения:
    25
    Симпатии:
    0
    Спасибо, сам разобрался)
    Кому интересно:

    PHP:
    1. <?if($k['children'] <> 0) {$i=30+$i;$padd='style="padding-left:'.$i.'px;"';}?>