Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 290

Коментарии статей без сторонних сервисов

29.12.2018, 23:17. Показов 783. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как организовать систему комментариев для статей, без сторонних сервисов?
Просто пинцеп/технология или пример

Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2018, 23:17
Ответы с готовыми решениями:

PHP без сторонних шаблонизаторов
class Db { public static function connection() { $host = 'db16.host.com.ua'; $dbname = 'domitex'; ...

Push уведомления без сторонних сервисов
Есть форма php, на которой располагается одна кнопка, при нажатии на эту кнопку на мобильный телефон (android) должно прийти push...

Анализатор входящих сообщений сторонних ПО и сервисов
В WinAPI не силен, однако необходимо написать программу на С++, анализирующую входящие сообщения какого-нибудь сервиса обмена сообщениями,...

13
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
29.12.2018, 23:20
Цитата Сообщение от Richik Посмотреть сообщение
как организовать систему комментариев для статей
Комментарии будут храниться в БД. Следовательно, требуется использование БД.
0
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 290
29.12.2018, 23:35  [ТС]
Цитата Сообщение от Пифагор Посмотреть сообщение
Комментарии будут храниться в БД
хорошая шутка

Добавлено через 4 минуты
...
Давайте представим международный проект, в котором каждый пользователь сервиса (из любой точки земли) может создать статью и разместить в системе. И другие (зарегистрированные) участники могут оставлять комментарии к этим статьям - !

Добавлено через 3 минуты
количество этих статей изначально неизвестно, как и уровень вложенности и конечное количество

Добавлено через 1 минуту
...комментариев
0
7 / 5 / 3
Регистрация: 06.12.2017
Сообщений: 35
30.12.2018, 00:06
Без разницы количество статей, новостей, постов, записей или чего угодно, к чему необходимы комментарии.
И не важно какой проект, международный или нет.
Комментарии сами по себе достаточно обычный функционал и примеров реализации можно найти уйму.
Но все они будут на 90% одинаковы, так как изобретать там нечего.

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

Это все индивидуально и зависит от пожеланий. А так, в инете полным полно готовых реализаций как и просто PHP, так и PHP+AJAX.
Хоть с возможностью ответов, хоть с оценкой комментариев.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
30.12.2018, 13:24
Цитата Сообщение от Richik Посмотреть сообщение
Добавлено через 4 минуты
...
Давайте представим международный проект, в котором каждый пользователь сервиса (из любой точки земли) может создать статью и разместить в системе. И другие (зарегистрированные) участники могут оставлять комментарии к этим статьям - !
Добавлено через 3 минуты
количество этих статей изначально неизвестно, как и уровень вложенности и конечное количество
Добавлено через 1 минуту
...комментариев
это вы к чему? что комменты не возможно хранить в базе? а для чего тогда базы данных?
0
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 290
30.12.2018, 15:12  [ТС]
Господа, да это все ясно и так, естественно все в базе, естественно SQL, PHP, AJAX, и иное

я спрашиваю не как выводить, а как хранить и привязать конкретный комментарии (или целую вереницу сообщений) к конкретной статье - с точки зрения конструкции базы

я же не буду для каждой статьи создавать отдельную таблицу MySql для "бесконечного списка" комментарий ну или для каждой статьи одну таблицу - это же глупо

Ситуация такова: Все статьи будет храниться в одной таблице с указанием раздела, ссылкой на автора, дата создания и прочее.
Система комментариев к статьям:
1) Это отдельная таблица в базе MySQL, в записях которых храниться ссылка на конкретную статью в таблице статей
или же
2) комментарии хранятся в той-же таблице что и статьи, в отдельной ячейки (или нескольких ячейках) в виде строго структурированных данных

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

Это то как я вижу, может есть иной способ хранения? Изначально я хотел узнать чужое мнение и после накладывать его на своё
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
30.12.2018, 15:33
Естественно вариант №1. Нормализованная БД рулит в большинстве случаев.

Во втором варианте ресурсов может понадобится гораздо больше:
1) Вы не можете извлечь часть комментариев, например чтобы сделать пагинацию. Всегда будете дергать 100500 разом.
2) Поиск, удаление, редактирование, сортировка.... всё это гораздо сложнее чем при нормальной БД.
1
7 / 5 / 3
Регистрация: 06.12.2017
Сообщений: 35
30.12.2018, 15:44
Отдельная таблица для комментариев конечно.
Связь по id статьи.

таблица комментов в "базовом варианте"

id - идентификатор коммента (AI)
parent_id - id комментария на который этот отвечает
user_id - id юзера который добавил коммент
article_id - id статьи к которой добавили комментари
comment_text - текст комментария
date_added - дата добавления комментария.

Тут с вложенностью с parent_id, вывод древовидный уже строить после получения всех комментариев связанных по ID статье.
Это все "стандартный" по сути вариант реализации.

В остальном зависит от конкретной ситуации.
Например, если гости смогут комментировать, то доп. поле для имени юзера.

Добавлено через 3 минуты
Цитата Сообщение от Richik Посмотреть сообщение
однако во вором случаи для извлечения данных потребуется меньше ресурсов сервера и времени
Это называется экономия на спичках. Как написал tarasalk, будет куча проблем в будущем + это вообще не логично, хранить разные сущности вместе.
Так у вас выходит + 1 запрос на выборку комментов.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
30.12.2018, 15:45
первый вариант, плюс связующая таблица comment_aticle. это как минимум
читайте о - Хранение иерархических структур в базе данных.
0
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,893
30.12.2018, 18:09
Цитата Сообщение от Richik Посмотреть сообщение
К тому-же не стоит забывать о вложенности комментариев при общении между участниками
Это необязательно. Например, на форуме нет вложенности. Обращения, по-моему, вполне достаточно в большинстве, если не во всех случаях.

Цитата Сообщение от fanatikus Посмотреть сообщение
плюс связующая таблица comment_aticle
Зачем?
1
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 290
30.12.2018, 21:51  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
Естественно вариант №1
Повернем задачу не много в другую сторону: Комментарии будут видеть только авторы тем, без различного рода "обсуждалок". Пагинация вещь полезная, однако в данном случаи отпадает смысл делать обработку комментариев "удаление, редактирование, сортировку"
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
31.12.2018, 08:20
Закрытые комментарии - ни есть добро! Откажитесь.... Сделайте правильный шаг!

Добавлено через 55 секунд
И причём тут полезность пагинации и отпадания обработки

Добавлено через 21 секунду
И то то нужно

Добавлено через 3 минуты
А то начнётся ад на ваших страницах, представляйте, все комментарии на одной стр. Пользователь пока пролистает, уже скончается от старости, или невозможность редактирования, начнётся хаос, люди будут говорить все что можно, - анархия, одним словом
0
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,893
31.12.2018, 11:57
Цитата Сообщение от Richik Посмотреть сообщение
Комментарии будут видеть только авторы
Это называется отзывами (когда другие участники не могут общаться между собой). "Выхлоп" около нуля, т.к. желающих помогать анонимно гораздо меньше, чем "самоутверждающихся" за счет публичных комментариев. Кроме того, не нужно пренебрегать пользой комментариев для SEO, только модерируйте и даже редактируйте их (по крайней мере исправляйте фактические и стилистические ошибки).

Цитата Сообщение от Richik Посмотреть сообщение
Пагинация вещь полезная, однако в данном случаи отпадает смысл делать обработку комментариев "удаление, редактирование, сортировку"
Отпадает смысл делать чистку отзывов? Хотите закопаться в "спасибках", вручную рассылаемом спаме по формам и т.п.? Сортировка тоже может быть полезна, например по авторам отзывов, т.к. "штатные отзывики" - частое явление, или собственно по статьям, если используется сводный список отзывов, адресованных конкретному автору статей.
0
 Аватар для Зверушь
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
31.12.2018, 16:00
Вариант номер 1 в любом случае. Не зависимо от того, как комментарии будут отображены и кто их сможет видеть/писать, будет ли пагинация или нет. Вариант номер 2 порочен.
Почитайте про нормализацию базы данных.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.12.2018, 16:00
Помогаю со студенческими работами здесь

Графика без сторонних библиотек
Интересует следующий вопрос: можно ли без сторонних библиотек, чистым С++ вывести пиксели разных цветов или их массивы? К тому же очень...

Сканирование QR без использования сторонних программ
Здравствуйте форумчане, такой вопрос. как можно реализовать сканирование qr без сторонних программ? есть какие нибудь библиотеки?

Подсветка кода без сторонних компонентов
Доброго времени суток, хотел написать подсветку html кода без сторонних компонентов, для этого воспользовался функцией предложенной...

Создание икосаэдра без сторонних библиотек
Помогите создать икосаэдр в 3D на C# без использования библиотек. И нужно чтобы он крутился на кнопки. Не могу найти похожие коды, все...

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru