|
|
|
|
|
для: margosha
(13.12.2011 в 10:24)
| | Такой вопрос: как лучше реализовать топ видео?
Такой вариант: добавить в таблицу member дополнительное поле "Средний балл" и после того как пользователь проголосовал, подсчитать этот средний балл и добавить его в это поле. И после выводить только тройку "лучших" роликов. | |
|
|
|
|
|
|
|
для: Lotanaen
(15.12.2011 в 17:06)
| | стоит ли прикручивать сессии или куки?
и какие еще есть способы от накрутки? | |
|
|
|
|
|
|
|
для: Lotanaen
(15.12.2011 в 17:06)
| | да, у каждого участник один ролик (их будет не много, менее 10) | |
|
|
|
|
|
|
|
для: margosha
(15.12.2011 в 16:42)
| | а ролик только один у каждого участника будет? | |
|
|
|
|
|
|
|
для: Lotanaen
(15.12.2011 в 16:16)
| | `id` - айди
`surname` фио участника
`name_video` название ролика участника
`link` ссылка на ролик
`vote` - лишнее поле (у меня будет отдельная таблица голосов) | |
|
|
|
|
|
|
|
для: margosha
(15.12.2011 в 15:13)
| | По логике все верно. Использовать нужно тогда $_SERVER['REMOTE_ADDR'] для определения айпи. В таблице я бы поля других типов взял. например не два поля типа DATE и TIME, а одно поле INT.
И если можно, то назначения полей таблицы
CREATE TABLE `member` (
`id` SMALLINT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`surname` VARCHAR( 255 ) NOT NULL ,
`name_video` VARCHAR( 255 ) NOT NULL ,
`link` TEXT NOT NULL ,
`vote` TEXT NOT NULL
) ENGINE = MYISAM ;
|
опишите вкратце. | |
|
|
|
|
|
|
|
для: Lotanaen
(14.12.2011 в 09:58)
| | 1. Насколько правильно?
2. Что использовать?
или
| |
|
|
|
|
|
|
|
для: Lotanaen
(14.12.2011 в 09:58)
| |
<?php
$vote = $_POST['vote'];
$ipUser = $_SERVER['REMOTE_ADDR'];
$queryIPVote = mysql_query("SELECT * FROM `vote` WHERE id_member='".$vote."' AND ip='".$ipUser."'");
$resultIPVote = mysql_fetch_array($queryIPVote);
$currentDate = date("Y-n-j");
if ($resultIPVote == 0) {
echo "1. Выводим форму голосования!<br>";
} else {
echo "2. Проверяем дату голосования!<br>";
if ($currentDate == $resultIPVote['date']) {
echo "3. Дата совпала с сегодняшней датой!<br>";
} else {
echo "4. Выводим форму голосования!<br>";
}
}
?>
|
Дальше когда пользователь проголосовал повторно, дата обновляется и он не может голосовать сегодня. | |
|
|
|
|
|
|
|
для: Lotanaen
(14.12.2011 в 09:58)
| |
CREATE TABLE `member` (
`id` SMALLINT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`surname` VARCHAR( 255 ) NOT NULL ,
`name_video` VARCHAR( 255 ) NOT NULL ,
`link` TEXT NOT NULL ,
`vote` TEXT NOT NULL
) ENGINE = MYISAM ;
CREATE TABLE `vote` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`id_member` SMALLINT( 2 ) NOT NULL ,
`ip` VARCHAR( 255 ) NOT NULL ,
`date` date NOT NULL,
`time` time NOT NULL,
) ENGINE = MYISAM ;
|
| |
|
|
|
|
|
|
|
для: margosha
(14.12.2011 в 09:32)
| | если много роликов и за все можно проголосовать раз в сутки, то тогда лучше БД использовать, например для распознования привязать пользователя в айпи и при попытке проголосовать проверять как давно он голосовал за данный ролик. У вас же есть таблица роликов в БД? Тогда таблица будет примерно с такими полями : Ид, ИД ролика, айпи пользователя, время голосования. | |
|
|
|
|