Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Как создать модуль вывод последних проголосовавших?

Как создать модуль вывод последних проголосовавших?


     18.12.2016    Все вопросы » Модули    1075

вопрос
Как создать модуль вывод последних проголосовавших?


Двиг 10.1

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

То есть, вывести member и rate с сортировкой по id из таблицы dle_logs

В шаблоне вывожу так
{include file="engine/modules/rateshort.php"}


php

<?php
if(!defined('DATALIFEENGINE'))
{
  	die("Hacking attempt!");
}

include ('engine/api/api.class.php');

$rateshort=$dle_api->load_from_cache( "rateshort", 60);

if (!$rateshort) {

$sql = $db->query("SELECT member, ip, id, rate FROM ".PREFIX."_logs where news_id = '{$row['id']}'ORDER BY id DESC LIMIT 0,20");

	while ($row = $db->get_row($sql))
	{
		$rateshort.="От $member оценка $rate <br />";
	}

        $db->free();

	$dle_api->save_to_cache ( "rateshort", $rateshort);
} 

	echo $rateshort;

?>


Что я не так делаю?

Ответил: Pringles


$rateshort.="От $row['member'] оценка $row['rate'] <br>";

6 комментариев

Pringles
Юзер

Pringles - 18 декабря 2016 15:38 -

$rateshort.="От $row['member'] оценка $row['rate'] <br>";

stopani
Юзер

stopani - 18 декабря 2016 16:33 -

Ошибка в твоей строке

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)


Если пишу так, ошибки нет, но ничего не выводит

$rateshort.="От ".$row['member']." оценка ".$row['rate']." <br>";

Pringles
Юзер

Pringles - 18 декабря 2016 18:56 -

А ничего и не будет. Учите php

шаблон full-story
{include file="engine/modules/rateshort.php?post_id={news-id}&limit=10"}


Код модуля:
<?php
if(!defined('DATALIFEENGINE')) {
  	die("Hacking attempt!");
}

global $config;

if(!$post_id) {
	return false;
}

$limit = $limit ? intval($limit) : "20";

$r_short = dle_cache("r_short", $config['skin'], true);

if (!$r_short) {
	$db->query("SELECT * FROM " . PREFIX . "_logs WHERE news_id = '{$post_id}' ORDER BY id DESC LIMIT 0,{$limit}");

	while ($row = $db->get_row()) {
		$r_short .= "От {$row['member']} оценка {$row['rate']} <br>";
	}

	create_cache("r_short", $r_short, $config['skin'], true);
}
echo $r_short;

stopani
Юзер

stopani - 18 декабря 2016 16:41 -

Странно, в последних событиях мой коммент есть, а здесь нет., куда он пропал?

stopani
Юзер

stopani - 18 декабря 2016 19:52 -

Перечитал свой вопрос и немного непонятно я его написал, извини.
Нужно не к конкретной новости вывести, а ко всем новостям, последние 20 оценок, т.е сортировать по id

Pringles
Юзер

Pringles - 18 декабря 2016 21:15 -

{include file="engine/modules/rateshort.php?limit=10"}



Код модуля:
<?php
if(!defined('DATALIFEENGINE')) {
  	die("Hacking attempt!");
}

global $config;

$limit = $limit ? intval($limit) : "20";

$r_short = dle_cache("r_short", $config['skin'], true);

if (!$r_short) {
	$db->query("SELECT * FROM " . PREFIX . "_logs ORDER BY id DESC LIMIT 0,{$limit}");

	while ($row = $db->get_row()) {
		$r_short .= "От {$row['member']} оценка {$row['rate']} <br>";
	}

	create_cache("r_short", $r_short, $config['skin'], true);
}
echo $r_short;

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 11.05.2014 kolumb  Модули
наверх