Просмотр поста

.
Screamer

Таблица

CREATE TABLE `vote` (
 `oid` int(10) unsigned NOT NULL,
 `uid` int(10) unsigned NOT NULL,
 `type` tinyint(1) unsigned NOT NULL,
 PRIMARY KEY(`oid`, `uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

oid - идентификатор объекта
uid - идентификатор пользователя
type - тип голоса (0 - минус; 1 - плюс)
---
Вот код напримере ждона
define('_IN_JOHNCMS', TRUE);
$rootpath = ''; // Если файл не в корне то удалить переменную rootpath и заменить в require ./ на ../
require './incfiles/core.php';

if (!$user_id) {
 // Закрываем от гостей
 header('Location: ' . core::$system_set['homeurl'] . '/?err');
 exit;
}
$message = '';
$is_exists = mysql_result(mysql_query("SELECT COUNT(*) FROM `object_table` WHERE `id` = '" . $id . "'"), 0);
if ($is_exists) {
 // Проверяем голосовал ли пользователь
 if (mysql_result(mysql_query("SELECT COUNT(*) FROM `vote` WHERE `uid` = '" . $user_id . "' AND `oid` = '" . $id . "'"), 0)) {
 $message = 'Вы уже проголосовали';
 } else {
 // Определяем тип голоса (1 - за; 0 - против)
 $type = isset($_GET['type']) && intval($_GET['type']) === 1 ? 1 : 0;
 // Голосуем
 mysql_query("INSERT INTO `vote` SET `oid` = '" . $id . "', `uid` = '" . $user_id . "', `type` = '" . $type . "'");
 $message = 'Ваш голос принят';
 }
} else {
 // Объект не найден
 $message = 'Неверные данные';
}
require './incfiles/head.php';
echo '<div class="menu">' . $message . '</div>';
require './incfiles/end.php';


Как то так.