Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35284



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |