I wanted to create ajax based commenting system for some html pages. Quería crear la base ajax sistema de comentarios para algunas páginas html. The design goals were: Los objetivos de diseño fueron los siguientes:
1. Simple to use and install Fácil de usar e instalar
2. Database (MySQL) backed Base de datos (MySQL) respaldada
3. Minimal changes to HTML template / files Cambios mínimos de plantilla HTML / archivos
4. Support effective (no frequent cache refreshes) html page compression / caching strategy for heavily commented sites. Apoyo eficaz (no se actualiza con frecuencia caché) html página de compresión y caching estrategia para sitios muy comentado.

An AJAX based system fits the bill. Un sistema basado en AJAX se enmarca en el proyecto de ley. The new comments are displayed instantaneously. Los nuevos comentarios se muestran instantáneamente. The html pages can be cached and / or compressed without requiring to refresh after each comment. Las páginas HTML en caché se pueden y / o comprimidos sin necesidad de refrescar después de cada comentario.
Spam is an issue with any commenting system. El spam es un problema con cualquier sistema de comentarios. I have decided to strip html tags in the first iteration to deter spammers. He decidido tira etiquetas html en la primera iteración para disuadir a los spammers. As a personal decision I have decided not to capture email address. Como una decisión personal que he decidido no captura la dirección de correo electrónico. However it can be trivially added along with url if so desired. Sin embargo, puede ser añadido a lo largo de trivially con url si así lo desea.

I used Sajax as my Ajax framework. He utilizado mi SAJAX como marco Ajax. It presented Presentó few pocos problems as Sajax is more suited for PHP / Ruby pages and not HTML. problemas como SAJAX es más adecuado para PHP / Ruby páginas HTML y no. Here is Aquí está my solution mi solución .

Schema:
CREATE TABLE `comments` ( CREATE TABLE `comentarios` (
`id` INT NOT NULL AUTO_INCREMENT , `id` INT NOT NULL AUTO_INCREMENT,
`url` VARCHAR( 255 ) NOT NULL , `url` VARCHAR (255) NOT NULL,
`ip` VARCHAR( 30 ) NOT NULL , `ip` VARCHAR (30) NOT NULL,
`author` VARCHAR( 255 ) DEFAULT ‘Anonymous Coward’ NOT NULL , `autor` VARCHAR (255) DEFAULT 'Anónimo Coward' NOT NULL,
`location` VARCHAR( 255 ) DEFAULT ‘Cyberspace’ NOT NULL , «ubicación» VARCHAR (255) DEFAULT 'ciberespacio' NOT NULL,
`comment` TEXT NOT NULL , `comentario` TEXT NOT NULL,
`when` TIMESTAMP NOT NULL, `` cuando TIMESTAMP NOT NULL,
PRIMARY KEY ( `id` ) ) PRIMARY KEY ( `id`))
);

Design notes: Diseño de notas:
The code for adding comment passed the url of the page. El código para añadir comentarios aprobó la url de la página. When the page is loaded a sajax call is made to fetch all the comment for the url of the page. Cuando la página se carga una llamada SAJAX se hace para obtener todas las observaciones para la url de la página. New comments are displayed instantaneously as new comments are fetched after a comment has been submitted. Nueva comentarios se muestran instantáneamente como nuevos comentarios se han obtenido después de un comentario ha sido enviado. This can additionally fetch comments from other users. Esto puede además obtener comentarios de otros usuarios. However I have decided not to implement timed refresh as that may unnecessarily increase server load without adding much value to users. Sin embargo he decidido no aplicar el tiempo de refresco que pueda aumentar innecesariamente la carga del servidor sin agregar mucho valor a los usuarios. Validation checks are made to detect and not add duplicate comments. Comprobaciones de validación se realizan para detectar y no duplicar añadir comentarios. Comment throttling by same user can be added to prevent abuse. Comentario de la regulación mismo usuario puede ser añadido para evitar los abusos.

Hope that helps in designing your commenting system. Espero que ayude en el diseño de su sistema de comentarios.