Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 30.09.2014
Сообщений: 126

Php древовидные комментарии

25.03.2015, 01:27. Показов 1087. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Начал делать комментарии для сайта и столкнулся с проблемой древовидных комментарий. Есть код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
do {
$date = $all_comment_row['date'];
$date = time_elapsed_string($date);
echo '
<div class="comment">
<div class="author-info">
<div class="'.$all_comment_row["rang"].'" rand_dialog><img src="'.$all_comment_row["avatar"].'"></div>
<div class="author_comment">'.$all_comment_row["author"].'</div>
<div class="date_comment">'.$date.'</div>
</div>
<div class="text_comment">'.$all_comment_row["text"].'</div> 
<div class="'.$child_comment_row["rang"].'" rand_dialog><img src="'.$child_comment_row["avatar"].'"></div>
<div class="author_comment">'.$child_comment_row["author"].'</div>
<div class="date_comment">'.$date.'</div>
<div class="text_comment">'.$child_comment_row["text"].'</div> 
</div> 
';
} while ($all_comment_row = mysql_fetch_array($all_comment));
В общем, если пользователь ответил на комментарий, то в parrent_id записывайте id коммента, на который он ответил,
$child_comment_row как раз и должен выводить все, что относится к дочерним комментам. Проблема в том, что если есть ответ, то он выводиться под каждым комментом, а не конкретно под тем, на который был сделан ответ. Что нужно поправить в коде, чтобы комментарий выводился именно под тем, в котором записан его parrent_id ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2015, 01:27
Ответы с готовыми решениями:

Комментарии в php
Как спрятать bbcode под спойлер? Скриншот Вот код php: &lt;script&gt; var RecaptchaOptions = {

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

Комментарии на PHP
У меня есть страница с просмотром фотографии, ниже выводятся комменты, хочу сделать, чтобы при нажатии на логин комментирующего было как на...

1
8 / 8 / 2
Регистрация: 19.07.2014
Сообщений: 26
25.03.2015, 15:43
1. Почему цикл начинается с "do"??? Тут же пустое все будет, а лог апача забьется варнингами об отсутствующих переменных
2. Если ты используешь parent_id, то тут одним циклом не обойдешься. Нужно создавать рекурсивную функцию (или метод).

Допустим первый запуск функции (пусть функция называется commens()) идет без параметров, соответственно в sql запросе условие parent_id=null
Функция будет возвращать результат типа так $html.'<div class="child_comm">'.commens($comm_id).' </div>'

где $comm_id - это идентификатор комментария, соответственно в следующий раз условие будет как parent_id=$comm_id

И при этом, если результата не будет, то функция должна прекратить рекурсию.. Я думаю, ты сам все напишешь)

Я использовал немного быдлячий вариант. Просто он быстро в голову пришел)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2015, 15:43
Помогаю со студенческими работами здесь

Древовидные комментарии
Подскажите пожалуйста, как можно реализовать комментарии в виде дерева? Т.е. что бы комментарии можно было комментировать. Есть таблица...

Древовидные комментарии
Пытаюсь создать древовидные комментарии, но нигде не могу найти того, что мне нужно. Везде руководства какие-то размытые... Если есть...

Древовидные комментарии в django 2.0
Здравствуйте, не совсем понятен алгоритм подключения древовидных комментариев в django 2 Есть...

Древовидные комментарии. Кнопка ответить
Не включал никогда этот тип комментариев, но тут просто проверить решил и вот что не нравится. В случае зарегистрированного пользователя...

Нетривиальные древовидные комментарии с вертикальной линией
Сразу скажу, тема создана исключительно с целью &quot;на подумать&quot;, для тех кто нуждается в практике, или же попросту нравиться верстать, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru