|
MySQL.RU - Webboard
Вернуться
как подсчитать количество просмотров за месяц (Ирина) 22/03/2009 - 13:31:05
Re: как подсчитать количество просмотров за месяц (Diter) 23/03/2009 - 16:06:03
Re: как подсчитать количество просмотров за месяц (ирина) 23/03/2009 - 20:47:36
Re: как подсчитать количество просмотров за месяц (Diter) 24/03/2009 - 08:39:18
Re: как подсчитать количество просмотров за месяц (ирина) 24/03/2009 - 17:26:34
Re: как подсчитать количество просмотров за месяц (Diter) 25/03/2009 - 06:38:59
Re: конец обсуждения (Diter) 25/03/2009 - 06:45:34
Re: как подсчитать количество дней рождений (Аська) 28/03/2009 - 12:30:19
Re: как подсчитать количество дней рождений (Diter) 30/03/2009 - 08:02:10
Re: как подсчитать количество коментариев (ирина) 30/03/2009 - 19:07:29
Re: как подсчитать количество коментариев (Diter) 30/03/2009 - 23:04:58
Re: как подсчитать количество коментариев (ирина) 31/03/2009 - 01:07:39
Re: как подсчитать количество коментариев (Diter) 31/03/2009 - 16:49:18
Re: как подсчитать количество коментариев (ирина) 31/03/2009 - 17:30:19
Re: топ комментаторов за месяц (Diter) 01/04/2009 - 07:55:30
Re: топ комментаторов за месяц (ирина) 01/04/2009 - 11:40:41
Re: топ комментаторов за месяц (Diter) 01/04/2009 - 22:31:11
Re: топ комментаторов за месяц (Diter) 02/04/2009 - 04:53:29
> Original message text:
> From: Ирина - 22/03/2009 - 13:31:05
> Subject:как подсчитать количество просмотров за месяц
> -----------------
> Здравствуйте.
> у меня в своем городе небольшой женский сайтик и тут нужно разобраться содним вопросом который я сама не осилю без вас =)
>
> у меня есть топ пользователей где ведется расчет по количеству новостей пользователей, запрос выглядит так -
>
> $FormatDate = date("Y-m-d");
> $sql = $db->query("SELECT autor FROM " . PREFIX . "_post WHERE date LIKE '%".$FormatDate."%'");
> if( !empty($sql) ) {
> $GlobalArray_news = array();
> $GlobalArray_news_sql = array();
> $j = "1";
> while( $row_news = $db->get_row($sql) ) {
> if(!$GlobalArray_news[$row_news['autor']] ) {
> $GlobalArray_news[$row_news['autor']] = "1";
> } else {
> $GlobalArray_news[$row_news['autor']]++;
> }
> $j++;
> }
> arsort( $GlobalArray_news );
> reset( $GlobalArray_news );
> $Top_news = "<table><td>";
> $i = "1";
> foreach($GlobalArray_news as $UserName => $NewsNumb) {
> if($i <= $set_news['num']) {
> $Uinfo = $db->super_query("SELECT foto, news_num, icq FROM " . PREFIX . "_users WHERE name='$UserName'"); //signature,
> и дальше уже формируються ники и т.п.
> Все это выводит пользователей в топ за последний месяц по количеству новостей.
> В таблице _post есть еще графа news_read - это количество просмотров новостей.
>
> Подскажите пожалуйста, как должен выглядить запрос чтобы подсчитывалось общее число просмотров новостей авторов за месяц типа топ по количеству просмотров.
>
> Буду очень признательна за помощь.
>
From: Diter - 25/03/2009 - 06:38:59
Subject:как подсчитать количество просмотров за месяц
-----------------
Вот здесь получаем строку, которая содержит всю нужную информацию для пользователя из десятки:
while($row = $db->get_row()){
А вот этот блок вообще лишний - не надо ничего увеличивать - функция SUM() в запросе уже просуммировала все просмотры всех новостей для каждого автора:
if( !$GlobalArray_news[$row['autor']] ) {
$GlobalArray_news[$row['autor']] = $row['news_read'];
} else {
$GlobalArray_news[$row['autor']]++;
}
$j++;
Вместо него лучше написать:
$GlobalArray_news[$row['autor']] = $row;
$GlobalArray_news[$row['autor']] - массив со всей информацией для очередного автора.
Я не знаю, в каком виде возвращает результат функция $db->get_row() - сохраняет ли она имена столбов в качестве ключей массива, или же столбцы пронумерованы, поэтому, например, информация о прочитанных новостях будет находится или здесь
$GlobalArray_news[$row['autor']]['news_read']
или здесь
$GlobalArray_news[$row['autor']][1]
лучше сделать print_r($row) и посмотреть, что там вернулось.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
35284
|
|