CMS DataLife Engine - Система управления сайтами

Sign in to follow this  
radrigo

Смена рейтинга "Оценка" на "Нравится и Не нравится"

Recommended Posts

Всем привет.

 

С самого начала на сайте стоит рейтинг "Оценка" и хотелось бы перейти на "Нравится и Не нравится", но обнулять не хочется.

 

Подскажите, может возможно при помощи SQL запроса пересчитать рейтинг для лайков и дизлайков? Например если поставили 1 и 2 звезды, то дизлайк, а если 3, 4, 5 то лайк.

 

Заранее признателен за подсказку.

Share this post


Link to post
Share on other sites
В 16.03.2019 в 00:08, radrigo сказал:

Подскажите, может возможно при помощи SQL запроса пересчитать рейтинг для лайков и дизлайков?

Нет не получится. 

Share this post


Link to post
Share on other sites
В 17.03.2019 в 12:44, celsoft сказал:

Нет не получится. 

Один добрый человек сказал, что получится и показал как это сделать.

 

Нужно создать файл со следующим содержимым и запустить его.

<?php

##### By SKYNET74 ######

@error_reporting(E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);
@ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);

define('DATALIFEENGINE', true);
define('ROOT_DIR', dirname (__FILE__));
define('ENGINE_DIR', ROOT_DIR.'/engine');

require_once (ENGINE_DIR.'/classes/plugins.class.php');

$db->query("UPDATE ".PREFIX."_logs SET rating='-1' WHERE rating='1' OR rating='2';");
$db->query("UPDATE ".PREFIX."_logs SET rating='1' WHERE rating='3' OR rating='4' OR rating='5';");
$db->query("UPDATE ".PREFIX."_post_extras SET rating='0';");
$db->query("UPDATE ".PREFIX."_post_extras SET vote_num='0';");
$db->query("UPDATE ".PREFIX."_logs, ".PREFIX."_post_extras SET ".PREFIX."_post_extras.rating = (SELECT SUM(rating) as rating FROM ".PREFIX."_logs WHERE ".PREFIX."_logs.news_id = ".PREFIX."_post_extras.news_id), ".PREFIX."_post_extras.vote_num = (SELECT COUNT(*) as count FROM ".PREFIX."_logs WHERE ".PREFIX."_logs.news_id = ".PREFIX."_post_extras.news_id) WHERE ".PREFIX."_post_extras.news_id = ".PREFIX."_logs.news_id");

?>

 

В данном случае пересчитается рейтинг только новостей.

 

Разве так нельзя? Проблем не будет?

Edited by radrigo

Share this post


Link to post
Share on other sites
21 час назад, radrigo сказал:

Разве так нельзя? Проблем не будет?

Такие вещи тестируются а не угадываются. Я этот код не тестировал поэтому я не могу сказать будут проблемы или нет. 

Share this post


Link to post
Share on other sites
10 часов назад, celsoft сказал:

Такие вещи тестируются а не угадываются. Я этот код не тестировал поэтому я не могу сказать будут проблемы или нет. 

Я не прошу тестировать, а просто глянуть. Возможно правильно пересчитать таким методом рейтинг? Вам как человеку, который делает этот движок, наверняка не составит труда это понять.

 

На локальном компьютере тестировал, вроде бы пересчитывает без проблем.

Share this post


Link to post
Share on other sites
12 часов назад, radrigo сказал:

Я не прошу тестировать, а просто глянуть. Возможно правильно пересчитать таким методом рейтинг? Вам как человеку, который делает этот движок, наверняка не составит труда это понять.

Просто "глянуть" зачастую бывает недостаточно чтобы сказать, правильно ли все будет работать или нет.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this