Все статьи >> Вложенные комментарии на PHP (просмотров: 3621)

Вложенные комментарии на PHP

Введение

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

При создании вложенных комментариев использовались следующие языки программирования и БД для хранения информации:

  • База данных MySQL –популярная БД, которую будем использовать для хранения комментариев;
  • PHP;
  • JS, JQuery;
  • HTML;
  • CSS;

 

База данных MySQL

Добавление в БД MySQL таблицы `comment`

Итак, приступим, первое, что необходимо сделать – это создать таблицу в БД MySQL, где будут храниться комментарии посетителей вашего веб-сайта и их персональная информация. Для этого необходимо выполнить нижеследующий запрос в БД, легче все это сделать через систему управления базами и таблицами phpMyAdmin, как показано на рисунке 1.

 

01 CREATE TABLE IF NOT EXISTS `comments` (
02 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
03 `idparent` int(11) NOT NULL DEFAULT "0",
04 `user` varchar(255) CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL,
05 `email` varchar(255) CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL,
06 `message` text CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL,
07 `host` varchar(255) CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL,
08 `url` text CHARACTER SET cp1251 COLLATE cp1251_general_cs NOT NULL,
09 `date` datetime DEFAULT NULL,
10 PRIMARY KEY (`id`)
11 ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs AUTO_INCREMENT=1;

 

 

Выполнение SQL запроса в оболочке phpMyAdmin

Рис. 1. Выполнение SQL запроса в оболочке phpMyAdmin.

 

Структура таблицы

Таблица `comments`:

  • Столбец `id` - уникальный идентификатор для каждого комментария;
  • Столбец `idparent` - необходим для определения типа комментария, т.е если комментарий является родительским, его `idparent`=’0’, если комментарий является дочерним, его `idparent`=’id’ родителя. Наглядно это можно проследить на рисунке 2;
  • Столбцы `user`, `email`, `message` - персональная информация пользователя, логин, почтовый адрес и сам комментарий;
  • В столбцах `host`, `url` - содержится информация об URL адресе комментария;

 Иерархическая вложенность комментариев и их зависимости друг от друга

Рис 2. Иерархическая вложенность комментариев и их зависимости друг от друга.

Из рисунка 2 видно:

  • комментарии с `ID`=1 и 5, являются родительскими для всех остальных;
  • комментарии с `ID`=2 и 3 – дочерними для комментария с `ID`=1;
  • комментарий с `ID`=3, является родительским для комментария `ID`=4;

Легко видеть что, только родительскими могут быть первые в иерархии комментарии (`ID`=1 и 5), остальные комментарии, вложенные в них, могут быть как родительскими, так и дочерними.

 

Файловая структура

После добавления таблицы `comments`, дальнейшим шагом является создание скриптов, которые будут выполнять всю основную работу: добавление и запрос из БД, вывод вложенных комментарий на страницу документа. Для этих целей создадим следующие PHP файлы, каждый из которых будет отвечать за определенное действие:

  • Файл commentForm.php – форма, которую посетитель веб-сайта заполняет для добавления комментария;
  • Файл commentAdd.php – добавление новых комментарий в БД;
  • Файл commentView.php – вывод вложенных комментарий в документ;
  • Файл funcComment.php – файл содержит функции для работы с комментариями;

Кроме PHP должное внимание необходимо уделить и файлам, содержащим JavaScript функции и CSS стили:

  • Файл js/comments.js – файл содержит JS функции;
  • Файл css/comments.css – стилевой файл, оформление комментарий;

Дополнительные плагины, используемые при создании комментарий:

  • Файл js/jquery.js - JQuery библиотека;

Папка module/kcaptcha - captcha позволяет избежать спам комментарий;

 

Форма для добавления комментария

HTML фундамент формы. Файл commentForm.php

В файле commentForm.php создадим форму, которую посетитель будет заполнять, чтобы оставить комментарий.

 


Автор: http://www.webpress.uz
 
 
Email:
не зарегистрированы?
Пароль:
забыли?
 
Астраханские магазины