По делу вопрос надо задавать или пытать как немцы трэба?
Т.е. в топике вопрос - это не вопрос ?
Ладно, еще раз -- Нужно чтобы в комментариях у каждого пользователя выводилось общее количество его публикаций и комментарий. Как это сделать? Точнее, какой код?
Немец блин...
Это замечательно что работает, но код неправильный. Почитайте про ф-ию db_query и placeholders
Буду благодарен если обоснуете...
db_query("SELECT count(*) FROM {comments} WHERE uid = %d", $comment->uid
Так будет правильно?
Да правильно, только оператор count(как и все операторы в SQL) пишется прописными COUNT.
+ нет необходимости загружать объект пользователя через user_load().
Да правильно, только оператор count(как и все операторы в SQL) пишется прописными COUNT.
+ нет необходимости загружать объект пользователя через user_load().
Комментарии
Не перевелись ещё партизаны в Беларусии.
По делу бы что написал ...
По делу вопрос надо задавать или пытать как немцы трэба?
Т.е. в топике вопрос - это не вопрос ?
Ладно, еще раз -- Нужно чтобы в комментариях у каждого пользователя выводилось общее количество его публикаций и комментарий. Как это сделать? Точнее, какой код?
Немец блин...
Мне нужно аналогичное только чтобы в профиле у каждого пользователя показывалась статистика сколько оставил каментов и сколько написал статей
Ну мне тоже желательно и там и там ...
Помогите...
Вот, написал для комментариев. Работает.
$result = db_result(db_query("SELECT count(*) FROM {comments} WHERE uid = $comment->uid", $user));
print $result;
Это замечательно что работает, но код неправильный. Почитайте про ф-ию db_query и placeholders
Буду благодарен если обоснуете...
db_query("SELECT count(*) FROM {comments} WHERE uid = %d", $comment->uid
Так будет правильно?
Да правильно, только оператор
count
(как и все операторы в SQL) пишется прописнымиCOUNT
.+ нет необходимости загружать объект пользователя через
user_load()
.типы материалов свои
<?php
$userid = $account->uid;
if (is_numeric($userid)) {
$list_content = array();
$list_private = array();
$list_private[] = "Дата регистрации: ".format_date($account->created, "medium");
$list_private[] = "Последнее посещение: ".format_date($account->access, "medium");
//кол-во комментариев
$result_com = db_query("SELECT COUNT(cid) AS count, {users}.uid, {users}.name FROM {comments} LEFT JOIN {users} ON {comments}.uid = {users}.uid WHERE {comments}.uid = $userid GROUP BY uid ORDER BY count ");
$user_com = db_fetch_object($result_com);
if($user_com->count) {
$list_private[] = "Комментариев: $user_com->count";
}
//документы
$q = "SELECT {node_type}.name as tipo,count({node}.type) as cant, {users}.uid, {users}.name
FROM {node}
LEFT JOIN {users} ON {node}.uid = {users}.uid
LEFT JOIN {node_type} ON {node}.type = {node_type}.type
WHERE {node}.uid = $userid AND ({node_type}.type = 'blog' OR {node_type}.type = 'hist_article' OR {node_type}.type = 'sol_article' OR {node_type}.type = 'rpg_article' OR {node_type}.type = 'art_article' OR {node_type}.type = 'section' OR {node_type}.type = 'gallery' OR {node_type}.type = 'image') group by {node}.type";
$result_type = db_query($q);
while ($row = db_fetch_object($result_type))
{
$list_private[] = $row->tipo.": ".$row->cant;
}
$output = theme('item_list', $list_private, NULL, 'ul', array('id'=>'user_list_private', 'class' => 'user_list'));
//$output .= theme('item_list', $list_content, NULL, 'ul', array('id'=>'user_list_content', 'class' => 'user_list'));
print($output);
}
?>
а как все сделать без ul что бы просто список?
Это я уже понял, спасибо.
wargan спасибо!
а для D7 не подскажите, как будет выглядеть код?
Количество комментариев - решение для D7:
<?php $value = db_query("SELECT COUNT (*) FROM {comment} WHERE uid = :uid", array(
':uid' => $comment->uid,
))->fetchField();
echo $value; ?>