Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Голосование за видео

Сообщения:  [1-10]   [11-16] 

 
 автор: margosha   (21.12.2011 в 16:30)   письмо автору
 
   для: margosha   (13.12.2011 в 10:24)
 

Такой вопрос: как лучше реализовать топ видео?
Такой вариант: добавить в таблицу member дополнительное поле "Средний балл" и после того как пользователь проголосовал, подсчитать этот средний балл и добавить его в это поле. И после выводить только тройку "лучших" роликов.

  Ответить  
 
 автор: margosha   (20.12.2011 в 11:16)   письмо автору
 
   для: Lotanaen   (15.12.2011 в 17:06)
 

стоит ли прикручивать сессии или куки?
и какие еще есть способы от накрутки?

  Ответить  
 
 автор: margosha   (15.12.2011 в 19:06)   письмо автору
 
   для: Lotanaen   (15.12.2011 в 17:06)
 

да, у каждого участник один ролик (их будет не много, менее 10)

  Ответить  
 
 автор: Lotanaen   (15.12.2011 в 17:06)   письмо автору
 
   для: margosha   (15.12.2011 в 16:42)
 

а ролик только один у каждого участника будет?

  Ответить  
 
 автор: margosha   (15.12.2011 в 16:42)   письмо автору
 
   для: Lotanaen   (15.12.2011 в 16:16)
 

`id` - айди
`surname` фио участника
`name_video` название ролика участника
`link` ссылка на ролик
`vote` - лишнее поле (у меня будет отдельная таблица голосов)

  Ответить  
 
 автор: Lotanaen   (15.12.2011 в 16:16)   письмо автору
 
   для: 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 ;

опишите вкратце.

  Ответить  
 
 автор: margosha   (15.12.2011 в 15:13)   письмо автору
 
   для: Lotanaen   (14.12.2011 в 09:58)
 

1. Насколько правильно?
2. Что использовать?
$_SERVER['SERVER_ADDR']

или
$_SERVER['REMOTE_ADDR']

  Ответить  
 
 автор: margosha   (15.12.2011 в 15:08)   письмо автору
 
   для: 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>";
    }
}
?>


Дальше когда пользователь проголосовал повторно, дата обновляется и он не может голосовать сегодня.

  Ответить  
 
 автор: margosha   (15.12.2011 в 15:08)   письмо автору
 
   для: 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 ;

  Ответить  
 
 автор: Lotanaen   (14.12.2011 в 09:58)   письмо автору
 
   для: margosha   (14.12.2011 в 09:32)
 

если много роликов и за все можно проголосовать раз в сутки, то тогда лучше БД использовать, например для распознования привязать пользователя в айпи и при попытке проголосовать проверять как давно он голосовал за данный ролик. У вас же есть таблица роликов в БД? Тогда таблица будет примерно с такими полями : Ид, ИД ролика, айпи пользователя, время голосования.

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования