Информация. Первая десятка блоггеров


Автор документа

Имя
Сергей

Сайт
http://sergey.vilgelm.googlepages.com/

Код выводит список из 10 пользователей, которые больше всего писали в блогах. Сообщение вида:

* Псевдоним 1
* Псевдоним 2
* Псевдоним 3

<?php
  $users
= db_query('
    SELECT
      COUNT(nid) AS count,
      u.uid,
      u.name
    FROM
      {node} n
    LEFT JOIN
      {users} u
    ON
      n.uid = u.uid
    WHERE
      n.uid != 0
    AND
      n.type = \'blog\'
    GROUP BY
      uid
    ORDER BY
      count DESC
    LIMIT 10'
 
);
 
$list = array ();
  while (
$user = db_fetch_object($users)) {
   
$list[] = l($user->name, 'blog/'.$user->uid); // Для ссылки на профиль пользователя слово "blog" заменить на "user"
 
}
  print
theme('item_list', $list);
?>

UPD 05.02.2008: Separator [at] drupal [dot] org

Comments

этот снипет выводит в строчку
А как сделать в столбик?

и еще вопросик, а как сделать чтобы ссылки вели на не блоги а на профили?

Чтобы на профили, то в строке:
print ".<a href=\"blog/".$user->uid."\">".$user->name."</a> ";
blog поменять на user, а для строчек поставить <ul> или <ol>, получиться:

<?php
$users
= db_query("SELECT COUNT(nid) AS count, {users}.uid, {users}.name FROM {node} LEFT JOIN {users} ON {node}.uid = {users}.uid WHERE {node}.uid != 0 GROUP BY uid ORDER BY count DESC LIMIT 10");
while (
$user = db_fetch_object($users)) {
    print
"<ul> <a href=\"user/".$user->uid."\">".$user->name."</a> </ul>";
}
?>

хм, у меня почему то все равно
ссылка вида
/node/user/1

то есть node лишнее

Ап

<a href=\"user/"
заменить на
<a href=\"/user/"

Post new comment

The content of this field is kept private and will not be shown publicly.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.