[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Комментарии
bel0m0r
Извиняюсь если тема была озвучена раньше. Как реализовать комментарии на сайте? Устроит словесный алгоритм. Заранее спасибо.



Спустя 3 минуты, 6 секунд (18.07.2011 - 18:44) quickxyan написал(а):
bel0m0r
коментарии - это типа отзывы пользователей например о фото?!

Спустя 8 минут, 54 секунды (18.07.2011 - 18:53) bel0m0r написал(а):
Именно, предпочтительнее было бы ещё объяснения структуры таблицы в мускуле под комментарии

Спустя 4 минуты, 57 секунд (18.07.2011 - 18:58) quickxyan написал(а):
ну таблица должна быть приблизительно такая.

id | id_pic | id_user(name_user) | comment | date

а принцип работы простой.

поле для ввода имени своего(не обязательно), и поле для ввода коммента.
записываем, что нам отправил юзер ну и вычисляем дату и время и записываем в БД.

а потом когда выводим все, что есть в БД, то сортируем по дате!

Спустя 38 минут, 37 секунд (18.07.2011 - 19:36) l@pteff написал(а):

<input type="hidden" id="user_name" name="user_name" value="Комментатор"/> <!--Скрытый инпут с логином пользователя-->
<input type="hidden" id="photos_name" name="photos_name" value="photo_1"/> <!--Скрытый инпут с названием фото-->
<img src="../photos/photo_1" /> <br> <!--фото-->
<span id="notice"> </span> <!--спан для предупреждений-->
<span id="comments"> </span> <br> <!--все комментарии-->

Оставить комментарий <br>
<textarea
rows="5" cols="151" name="my_comment" id="my_comment" style="border:1px solid black; resize:none">
</textarea>
<!--поле для ввода комментария-->

<input type="submit" value="ok" id="subm"/>


Обработка jQuery

$('#subm').click (function(e) {
e.preventDefault();
if ($('#my_comment').val()!=='') {
comment_ajax();}
else {return false;}
}
);

function comment_ajax() {
var znach_photo=$('#photos_name').val();
var znach_comment=$('#my_comment').val();
var username=$('#user_name').val();
if (username=='Гость') {$('#notice').html('Только зарегистрированные пользователи могут оставлять комментарии')};

$.post ('../../php/komments.php', {my_comment:znach_comment, photos_name:znach_photo, user_name:username}, function(comment_data) {
$('#comments').append(comment_data);
$('#my_comment').val('');
})
}


Что касается базы данных, там должны быть таблицы:
users с полями id_user, login
photos с полями id_photo, photos_name
и comments с полями id_comment, comment

komments.php

$error1="Извините, сервис временно недоступен";

$my_comment = htmlspecialchars(trim(addslashes($_POST['my_comment'])));
$photos_name=$_POST['photos_name'];
$user_name =$_POST['user_name'];

require_once 'podkl.php'; <!--подключаем базу данных-->

mysql_query('SET NAMES utf8');

$usSelect = mysql_query("select photos.id_photo, users.id_user from photos, users where photos.photos_name like '$photos_name' and users.login like '$user_name'"); <!--находим в базе id-шки комментирующего пользователя и комментируемого фото-->
$row = mysql_fetch_row($usSelect);

$query = "insert into comments (id_good, id_user, comment) values ('$row[0]', '$row[1]', '$my_comment')" ;
$result = mysql_query ($query);
if (!$result) {
echo $error1;
exit;
}

date_default_timezone_set('Europe/Moscow');
$d=date("d.m.Y H:i:s");
echo nl2br('<span>'.$d.' '.$user_name.' '.'says:'.'</span>'."<br>".$my_comment."<br>");

Спустя 14 часов, 53 минуты, 16 секунд (19.07.2011 - 10:30) bel0m0r написал(а):
Большое спасибо, мне как раз требовалось производить комментирование без перезагрузки страницы


_____________
ICQ 605271181
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.