Код выводит список всех пользователей создававших докуметы типа blog. Список упорядочивается по дате создания последнего документа.
<?php
global $user;
if($user->uid)
{
print "<ul>\n";
$result = db_query("SELECT DISTINCT u.name, u.uid FROM {users} u INNER JOIN {node} n ON n.uid = u.uid WHERE n.type = 'blog' ORDER BY u.name");
while ($node = db_fetch_object($result))
{
print "<li>".l(ucwords($node->name), 'blog/' . $node->uid)."</li>\n";
$latestr = db_query("SELECT n.title, n.nid FROM {node} n WHERE n.type = 'blog' AND n.uid=%d ORDER BY n.created DESC",$node->uid);
}
print "</ul>";
}
?>Код выводит список всех пользователей создававших докуметы типа blog. Рядом с именем показывается количество документов. Список упорядочивается по псевдонимам.
<?php
$result = db_query("SELECT u.uid, u.name, COUNT(0) AS num FROM {node} n LEFT JOIN {users} u ON u.uid = n.uid WHERE n.type = 'blog' GROUP BY u.uid, u.name ORDER BY u.name ASC");
while ($blog = db_fetch_object($result)) {
$output .= '<li />'.l($blog->name. ' ('.$blog->num.')', 'blog/'.$blog->uid);
}
return '<ul>'.$output.'</ul>';
?>То же самое, что и предыдущий код, но дополнительно показывается последний добавленный пользователем документ.
<?php
global $user;
if($user->uid)
{
print "<ul>\n";
// select all the unique UID "blog" nodes, then join them with users and away we should go
$result = db_query("SELECT DISTINCT u.name, u.uid FROM {users} u INNER JOIN {node} n ON n.uid = u.uid WHERE n.type = 'blog' ORDER BY u.name");
while ($node = db_fetch_object($result))
{
print "<li class=\"expanded\">".l(ucwords($node->name), 'blog/' . $node->uid)."</li>\n";
$latestr = db_query("SELECT n.title, n.nid FROM {node} n WHERE n.type = 'blog' AND n.uid=%d ORDER BY n.created DESC",$node->uid);
if($latestn = db_fetch_object($latestr))
{
print "<ul>\n";
print "<li class=\"leaf\">".l($latestn->title, 'node/'.$latestn->nid)."</li>\n";
print "</ul>\n";
}
}
print "</ul>";
}
?>
Comments
Post new comment