Рейтинг для Новостей

1. Виталий (09.03.2011 / 14:24)
И так делаю рейтинг для новостей и проблема только в одном gid Не определяет новость
как в этом коде сделать только под новости..
<?php
$querypnews = DB :: $dbh -> query("SELECT * FROM `news` WHERE `news_id`=? LIMIT 1;", array($gid));
        $data = $querypnews -> fetch();

        if (!empty($data)) {
          if ($log != $data['news']) {
            $queryrated = DB :: $dbh -> querySingle("SELECT `rated_id` FROM `ratednews` WHERE `rated_news`=? AND `rated_user`=? LIMIT 1;", array($gid, $log));

            if (empty($queryrated)) {
              $expiresrated = SITETIME + 3600 * $config['newsexprated'];

              DB :: $dbh -> query("DELETE FROM `ratednews` WHERE `rated_time`<?;", array(SITETIME));
              DB :: $dbh -> query("INSERT INTO `ratednews` (`rated_news`, `rated_user`, `rated_time`) VALUES (?, ?, ?);", array($gid, $log, $expiresrated));
              DB :: $dbh -> query("UPDATE `news` SET `news_rating`=`news_rating`+? WHERE `news_id`=?", array($score, $gid));
?>


2. Удаленный (09.03.2011 / 14:51)
Я откуда знаю.D

3. Виталий (09.03.2011 / 14:54)
2. CheLove, банан тебе за оффтоп надо на некоторое время!

4. Удаленный (09.03.2011 / 15:04)
Я знаю.)

5. Дмитрий (09.03.2011 / 15:10)
Типо так? Спросил в аське и молчишь...
<?php
$data = DB :: $dbh -> queryFetch("SELECT * FROM `news` WHERE `news_id`=? LIMIT 1;", array($gid));  
if (!empty($data)) {
    if ($log != $data['news']) {
        $queryrated = DB :: $dbh -> queryFetch("SELECT `rated_id`, `rated_news` FROM `ratednews` WHERE `rated_news`=? AND `rated_user`=? LIMIT 1;", array($gid, $log)); 
        if (empty($queryrated)) {
            $expiresrated = SITETIME + 3600 * $config['newsexprated']; 
		 
            DB :: $dbh -> query("DELETE FROM `ratednews` WHERE `rated_time`<?;", array(SITETIME)); 
            DB :: $dbh -> query("INSERT INTO `ratednews` (`rated_news`, `rated_user`, `rated_time`) VALUES (?, ?, ?);", array($gid, $log, $expiresrated)); 
            DB :: $dbh -> query("UPDATE `news` SET `news_rating`=`news_rating`+? WHERE `news_id`=?", array($score, $gid));
        }
    }	
}


6. Виталий (09.03.2011 / 15:12)
5. dima.london, Интернет Дим залагал...сейчас проверим что и каК)

7. Руслан (09.03.2011 / 15:42)
там у тебя по кол-ву голосов рейтинг? Код уходит за границы

8. Виталий (09.03.2011 / 15:57)
7. Вавилон, так помоги..

9. Руслан (09.03.2011 / 16:01)
у меня полностью код не видно. Выложи в тхт

10. Виталий (09.03.2011 / 17:54)
сейчас выложу..
http://upwap.ru/1350758

11. Shur1k (09.03.2011 / 17:57)
10. VIP-club, Ыыыы, передумал продавать =) молодец.

12. Виталий (09.03.2011 / 18:13)
11. Shur1k, klass Я тоже так подумал,если продам делать нечего в интернете,вот решил плотно заняться этим делом)

13. evlbd (09.03.2011 / 19:49)
12. VIP-club, о чем это вы? о_О

14. Роман (09.03.2011 / 20:10)
13. -KEHT- aka ПакО_оН, они про сайт Vip-CLub'а. Хотел продавать - передумал smile

15. Руслан (09.03.2011 / 20:28)
ща гляну

Добавлено через 04:13 сек.
Путь: /www/wexus.ru/123456.zip
Папка пуста
Меню папки:
» Создать
» Загрузить
-
Архивчег пустой, скинь в текстовом. Я с телефона

16. Виталий (09.03.2011 / 20:58)
я и так с текстовым кидал.....
хз че такое..
вот пробуй http://homephp(.)ru/1234.txt

17. Руслан (09.03.2011 / 21:09)
это как я понял идёт
запись голоса, да?

18. Виталий (09.03.2011 / 21:15)
да ты прав

19. Руслан (09.03.2011 / 21:23)
Код то правильный, а ссылка на голос неправильная.

***/news/index.php?act=vote&gid=0&vote=up&uid=E1ZYfP&

gid=0, ищи проблему в ссылке

20. Виталий (09.03.2011 / 21:28)
может тебе еще дать код.
echo 'Рейтинг: <a href="index.php?act=vote&amp;gid=' . $gid . '&amp;vote=down&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '"><img src="../images/img/thumb-down.gif" alt="Минус" /></a> <big><b>' . $data['news_rating'] . '</b></big> <a href="index.php?act=vote&amp;gid=' . $gid . '&amp;vote=up&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '"><img src="../images/img/thumb-up.gif" alt="Плюс" /></a><br />';


21. Руслан (09.03.2011 / 21:31)
Хотя я ошибся. Попробуй
< ? p h p
$ d a t a = D B : : $ d b h - > q u e r y F e t c h ( " S E L E C T * F R O M ` n e w s ` WH E R E ` n e w s _ i d ` = ? L I M I T 1 ; " , a r r a y ( $ g i d ) ) ;
i f ( ! e m p t y ( $ d a t a ) ) {
i f ( $ l o g ! = $ d a t a [ ' n e w s ' ] ) {
$ q u e r y r a t e d = D B : : $ d b h - > q u e r y F e t c h ( " S E L E C T ` r a t e d _ i d ` , ` r a t e d _ n e w s ` F R O M ` r a t e d n e w s ` WH E R E ` r a t e d _ n e w s ` = ? A N D   ` r a t e d _ u s e r ` = ? L I M I T 1 ; " , a r r a y ( $ g i d , $ l o g ) ) ;
i f ( e m p t y ( $ q u e r y r a t e d ) ) {
$ e x p i r e s r a t e d = S I T E T I M E + 3 6 0 0 * $ c o n f i g [ ' n e w s e x p r a t e d ' ] ;
D B : : $ d b h - > q u e r y ( " D E L E T E F R O M ` r a t e d n e w s ` WH E R E ` r a t e d _ t i m e ` < ? ; " , a r r a y ( S I T E T I M E ) ) ;
D B : : $ d b h - > q u e r y ( " I N S E R T I N T O   ` r a t e d n e w s ` ( ` r a t e d _ n e w s ` , ` r a t e d _ u s e r ` , ` r a t e d _ t i m e ` ) V A L U E S ( ? , ? , ? ) ; " , a r r a y ( $ g i d , $ l o g , $ e x p i r e s r a t e d ) ) ;
D B : : $ d b h - > q u e r y ( " U P D A T E ` n e w s ` S E T ` n e w s _ r a t i n g ` = ` n e w s _ r a t i n g`+1 WHE R E ` n e w s _ i d ` = ? " , a r r a y ( $ g i d ) ) ;
}
}
}

Добавлено через 00:49 сек.
Блин. Пробелы ненужные постирай ток

Добавлено через 05:36 сек.
gid=' . $data['news_id'] . ' 
в ссылке гид исправь на это

22. Виталий (09.03.2011 / 21:41)
и еще скажи как таблицу создать?
для это рейтинга!

23. Виталий (09.03.2011 / 21:51)
Где это исправить???
gid=' . $data['news_id'] . '

24. Руслан (09.03.2011 / 21:53)
блин, так у тебя таблиц не было?
Оставь код как и был

Добавлено через 04:57 сек.
VIP-club (9 Марта 2011 / 21:51)
Где это исправить???
gid=' . $data['news_id'] . '
В ссылке что ты мне дал.
Там у тебя гид=' . $гид . '

25. Виталий (09.03.2011 / 22:00)
таблу как создать?

26. Руслан (09.03.2011 / 22:06)
Ты код с галереи сфоткал?
Возьми просто скопируй таблицу ратедфото и в ячейках замени что нужно

27. Виталий (09.03.2011 / 22:08)
Да блин дай код чтобы сделать запрос в базе чтобы пустую таблицу создать
ratednews

28. Виталий (09.03.2011 / 22:18)
Вавилон зайди ко мне на сайт попробуй проголосовать!

29. Руслан (09.03.2011 / 22:22)
C R E A T E T A B L E I F N O T E X I S T S ` s o o
` c a t _ i d ` i n t
( 1 1 ) u n s i g n e d N O T N U L L a u t o _ i n c r e m e
` c a t _ n a m e ` v a r c h a r
( 5 0 ) N O T N U L L ,
` c a t _ t e x t ` v a r c h a r
( 1 0 0 ) N O T N U L L d e f a u l t ' ' ,
` c a t _ t i m e ` i n t
( 1 1 ) u n s i g n e d N O T N U L L ,
P R I MA R Y K E Y ( ` c a t _ i d ` ) ,
K E Y ` c a t _ t i m e ` ( ` c a t _ t i m e ` )
) E N G I N E = M y I S A M D E F A U L T C H A R S E T
Пример

30. Виталий (09.03.2011 / 22:24)
29. Вавилон, что это?

31. Тимофей (09.03.2011 / 22:34)
я проголосовал...вывело на черный экран...и голос не зашитатало поход

32. Виталий (09.03.2011 / 22:39)
подожди еще делаю!

33. Руслан (09.03.2011 / 22:40)
запрос, создаст таблицу соо

34. Виталий (09.03.2011 / 22:42)
ЧТО это значит?
так как я базу создал
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'rated_id' in 'field list'' in /home/home784/public_html/includes/start.php:121 Stack trace: #0 /home/home784/public_html/includes/start.php(121): PDOStatement->execute(Array) #1 /home/home784/public_html/includes/start.php(94): PDOStatement_->execute(Array) #2 /home/home784/public_html/includes/start.php(105): PDO_->query('SELECT `rated_i...', Array) #3 /home/home784/public_html/news/index.php(107): PDO_->queryFetch('SELECT `rated_i...', Array) #4 {main} thrown in /home/home784/public_html/includes/start.php on line 121

35. Руслан (09.03.2011 / 22:46)
короче, завтра время будет я тебе сделаю сам

36. Виталий (09.03.2011 / 22:48)
Да я хочю сам разобраться.
вот базу я создал
http://upwap.ru/1351483

37. Руслан (09.03.2011 / 22:54)
так я для примера показал.
Создай свою структуру. Замени то что находится в поле тем, что нужно

38. Виталий (09.03.2011 / 22:57)
да там пробелы вопще не удобно,я то пробелы задалбался уберать!.ты мне просто напиши сразу готов запрос для создания таблицы.

39. Руслан (09.03.2011 / 22:58)
Позже скрин выложу.

40. Виталий (09.03.2011 / 23:02)
Долго ждать?....и что хочешь сказать что только из-за таблицы не робит реётинг?

Добавлено через 05:12 сек.
Вот соббственно и запрос только ошибка таже
CREATE TABLE IF NOT EXISTS `ratednews` (
`rated_id` int(11) unsigned NOT NULL auto_increment,
`rated_news` int(11) unsigned NOT NULL,
`rated_user` varchar(20) NOT NULL,
`rated_time` int(11) unsigned NOT NULL,
PRIMARY KEY (`rated_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

41. Руслан (10.03.2011 / 00:13)
Правильно. Код тоже вроде норм. Скинь страницу в зип

42. Андрей (10.03.2011 / 00:55)
VIP-club (10 Марта 2011 / 01:02)
Долго ждать?....и что хочешь сказать что только из-за таблицы не робит реётинг?

что же ты такой нетерпеливый, какбэ запись голоса идет в таблицу, и без таблицы них пахать не будет.

43. Виталий (10.03.2011 / 00:57)
41. Вавилон,
Вот
http://upwap.ru/1351682

44. Руслан (10.03.2011 / 20:23)
скачал. Чуть позже посмотрю

45. Виталий (10.03.2011 / 20:56)
Ну давай..... smile

46. Руслан (10.03.2011 / 23:43)
http://upwap.ru/1353502
вот короче сделал норм, там в архиве текстовый файл ещё. Сделай запрос в бд

47. Руслан (11.03.2011 / 00:24)
влепи плюсег если не жалко smile

48. Виталий (11.03.2011 / 11:29)
еще не проверял)))) сейчас посмотрю что и как)

49. Руслан (11.03.2011 / 14:58)
ага smile

50. Виталий (11.03.2011 / 14:59)
Жму чтобы + поставить а он ошибку выдает!
Ошибка! Данной фотографии не существует!

51. Дмитрий (11.03.2011 / 15:03)
Ты хочешь написать скрипт, не зная языка. Молодец. На Нобелевскую премию klass
http://visavi.net/files/index.php?p=php&
http://php.su

52. Руслан (11.03.2011 / 15:06)
ты точно заменил? У меня работало всё на 100 процентов

53. Виталий (11.03.2011 / 15:14)
да точно!

54. Руслан (11.03.2011 / 15:22)
Хд. Может я по запарке не вложил исправленый файл в архив, так как я везде 'фотографии' на 'новости' заменил

55. Виталий (11.03.2011 / 15:27)
ну вот там даже переменные были как в галереи

56. Руслан (11.03.2011 / 15:32)
ща. Подожди

57. Руслан (11.03.2011 / 15:47)
http://upwap.ru/1354298

58. Виталий (11.03.2011 / 16:01)
Тоже самое скинул,ты чего???

59. Руслан (11.03.2011 / 17:06)
хм... Через часик скину ещё раз. :-S

60. Виталий (11.03.2011 / 19:52)
уже два часика прошлло,ну что выложишь норм или че?

61. Руслан (12.03.2011 / 08:08)
чуть позже. К компу не смог подойти. Минут 10

62. Руслан (12.03.2011 / 10:55)
Покажи скрин таблицы

63. Виталий (12.03.2011 / 14:40)
блин сейчас покажу!!!

64. Виталий (12.03.2011 / 14:52)
Смотри делаю запрос вот этот
ALTER TABLE `news` ADD `news_rating` MEDIUMINT( 8 ) NOT NULL DEFAULT '0'
Ошибку выдает #1060 - Duplicate column name 'news_rating'
И смысл этой таблицы нету)) 'news_rating'

65. Руслан (12.03.2011 / 15:24)
капец. Я думал что ты хоть что то понимаешь.
В эту ячейку идет запись рейтинга новости.
Держи рабочий
http://upwap.ru/1356086
vavilon.h2m.ru/news/index.php?

Добавлено через 03:23 сек.
а ошибку выдает потому что у тебя уже есть эта ячейка

66. Руслан (12.03.2011 / 18:43)
ну че блин, работает?

67. Виталий (12.03.2011 / 22:20)
Ошибочка...
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'home784_rotor.ratednews' doesn't exist' in /home/home784/public_html/includes/start.php:121 Stack trace: #0 /home/home784/public_html/includes/start.php(121): PDOStatement->execute(Array) #1 /home/home784/public_html/includes/start.php(94): PDOStatement_->execute(Array) #2 /home/home784/public_html/includes/start.php(99): PDO_->query('SELECT `rated_i...', Array) #3 /home/home784/public_html/news/index.php(114): PDO_->querySingle('SELECT `rated_i...', Array) #4 {main} thrown in /home/home784/public_html/includes/start.php on line 121

68. Виталий (14.03.2011 / 17:45)
Сделал спасибо Вавилону.

URL: https://visavi.net/topics/19546