Список пользователей и количество их материалов

Главные вкладки

Аватар пользователя bnine bnine 20 июля 2010 в 22:09

Приветствую!
посоветуйте пожалуйста как создать список пользователей как тут http://fungraph.ru/authors
нужно вывести пользователей количество материала имим загруженного

еще желательно определить временные рамки для отсчета

это все нужно чтобы устроить на сайте еженедельные розыгрыши призов

заранее спасибо!!

Комментарии

Аватар пользователя Splinter Splinter 20 июля 2010 в 22:16

1. запрос в базу, из таблицы выдергиваете все uid, это id пользователя, который добавил определенную ноду.
2. подсчитываете количество упоминаний для каждого uid'а, так получаете количество опубликованных материалов по каждому пользователю. Осталось узнать кто прячется за uid
3. дергаете по каждому, отличному друг от друга, uid'у из базы users поле name, получаете логины пользователей.

Может и проще есть способ

Аватар пользователя ihappy ihappy 21 июля 2010 в 21:33

"Splinter" wrote:
1. запрос в базу, из таблицы выдергиваете все uid, это id пользователя, который добавил определенную ноду.
2. подсчитываете количество упоминаний для каждого uid'а, так получаете количество опубликованных материалов по каждому пользователю. Осталось узнать кто прячется за uid
3. дергаете по каждому, отличному друг от друга, uid'у из базы users поле name, получаете логины пользователей.
Может и проще есть способ

хз может и проще есть.
в пункт 1 добавлю.
надо еще дергать UID со статусом 1. Зачем блочиных считать.
а так все остальное также сделал бы.

Аватар пользователя Arturus Arturus 9 марта 2011 в 15:03
<?php

$nblimit 

20;
$query 'SELECT u.name, u.uid, count(n.uid) as ccc
FROM {node} n INNER JOIN {users} u ON n.uid  = u.uid
WHERE n.type="тип материала"
GROUP BY n.uid ORDER BY ccc DESC'
;

$result db_query_range($query, array('user'0), 0$nblimit);

$list = array();
while (
$user db_fetch_object($result)) {
$list[] = l($user->name,"user/$user->uid")." (материалов на сайте - $user->ccc)";
}

$output theme('item_list'$listNULL'ul', array('id'=>'user_list_''class' => 'user_list'));
print(
$output);
?>