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

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


     14.01.2018    Пользователь, голосование, вывод    Все вопросы » Общие вопросы по PHP    1362

вопрос
Как вывести полной новости логины пользователей - кто голосовал - мне нравится -??
Смотреть картинку

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

Ответа пока нет


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

SX2
Эксперт

SX2 - 14 января 2018 20:10 -


Самая сложная часть работы – решиться приступить к ней.

ermak123
Юзер

ermak123 - 15 января 2018 21:10 -


Не совсем то что хотел - надо чтобы выводилось после новости

SX2
Эксперт

SX2 - 15 января 2018 22:23 -

1. Открыть show.full.php найти:
if( $row['editdate'] ) $_DOCUMENT_DATE = $row['editdate']; 

Выше вставить:
$sql = $db->query("SELECT member, rating FROM " . PREFIX . "_logs WHERE news_id ='{$row['id']}' ORDER BY id DESC LIMIT 0,30");

$users = array();
while ($rowd = $db->get_row($sql)) {
    $i++;
    
    $member = ($rowd['member'] == "noname") ? "Гость" : $rowd['member'];
    $rowd['rating'] = (($rowd['rating']>0) ? '+' : '') . $rowd['rating'];
	
    if ($config['rating_type'] == 2){
        $rating = ' (' . $rowd['rating'] . ')';
    }else{
        $rating;
	}
    if ($config['allow_alt_url'])
        $user_link = "<a href=\"{$config['http_home_url']}user/" . urlencode($member) . "/\" title=\"{$member}\" onclick=\"ShowProfile('" . urlencode($member) . "', '/user/" . urlencode($member) . "/', " . $user_group[$member_id['user_group']]['admin_editusers'] . "); return false;\">" . stripslashes($member) . "</a>";
    else
        $user_link = "<a href=\"{$config['http_home_url']}index.php?subaction=userinfo&user=" . urlencode($member) . "\">" . stripslashes($member) . "</a>";
    
    $user_link = ($rowd['member'] == "noname") ? $member : $user_link;
    
    $users[] = $user_link . $rating;
    $result  = implode(",&nbsp;\r\n", $users);
}

$db->free($sql);	

if( $member ) {
	
				$tpl->set( '{i}', $i );
				$tpl->set( '{result}', $result );
				$tpl->set( '[user_rate]', "" );
				$tpl->set( '[/user_rate]', "" );
				$tpl->set( '{user_rate}', $buffer );
				$tpl->set_block( "'\\[not_user_rate\\](.*?)\\[/not_user_rate\\]'si", "" );
			
			} else{
				
				$tpl->set( '[not_user_rate]', "" );
				$tpl->set( '[/not_user_rate]', "" );			
				$tpl->set_block( "'\\[user_rate\\](.*?)\\[/user_rate\\]'si", "" );
		
			}

2. Открыть fullstory.tpl в нужном месте вставить:
[code][user_rate]<div align='center'>Всего проголосовало пользователей: <b style='color:red'>{i}</b></div><hr /><b>{result}</b>[/user_rate] [not_user_rate]<div align='center'><b>В таблице логов нет записей для данной новости!</b></div>[/not_user_rate]/code]
Проверить работоспособность!

Самая сложная часть работы – решиться приступить к ней.

ermak123
Юзер

ermak123 - 16 января 2018 09:04 -


После редактирования - ошибка

ermak123
Юзер

ermak123 - 16 января 2018 09:07 -

DLE 10.4 может в этом проблема и установлен хак который предложили ранее

SX2
Эксперт

SX2 - 16 января 2018 09:16 -

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

$users = array();
while ($rowd = $db->get_row($sql)) {
    $i++;
    
    $member = ($rowd['member'] == "noname") ? "Гость" : $rowd['member'];
	
    if ($config['allow_alt_url'])
        $user_link = "<a href=\"{$config['http_home_url']}user/" . urlencode($member) . "/\" title=\"{$member}\" onclick=\"ShowProfile('" . urlencode($member) . "', '/user/" . urlencode($member) . "/', " . $user_group[$member_id['user_group']]['admin_editusers'] . "); return false;\">" . stripslashes($member) . "</a>";
    else
        $user_link = "<a href=\"{$config['http_home_url']}index.php?subaction=userinfo&user=" . urlencode($member) . "\">" . stripslashes($member) . "</a>";
    
    $user_link = ($rowd['member'] == "noname") ? $member : $user_link;
    
    $users[] = $user_link;
    $result  = implode(",&nbsp;\r\n", $users);
}

$db->free($sql);	

if( $member ) {
	
				$tpl->set( '{i}', $i );
				$tpl->set( '{result}', $result );
				$tpl->set( '[user_rate]', "" );
				$tpl->set( '[/user_rate]', "" );
				$tpl->set( '{user_rate}', $buffer );
				$tpl->set_block( "'\\[not_user_rate\\](.*?)\\[/not_user_rate\\]'si", "" );
			
			} else{
				
				$tpl->set( '[not_user_rate]', "" );
				$tpl->set( '[/not_user_rate]', "" );			
				$tpl->set_block( "'\\[user_rate\\](.*?)\\[/user_rate\\]'si", "" );
		
			}

Самая сложная часть работы – решиться приступить к ней.

ermak123
Юзер

ermak123 - 16 января 2018 09:46 -


1 Как то оно не правильно считает - смотреть картинку- или проблема в том что кто-то проголосовал а потом отписался
2 После добавления user появляется только после обновления страницы - а хотелось бы сразу после нажатия по голосованию
3 $sql = $db->query("SELECT member FROM " . PREFIX . "_logs WHERE news_id ='{$row['id']}' ORDER BY id DESC LIMIT 0,30");
Это лимит на что???? DESC LIMIT 0,30"

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

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

наверх