Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Массив


Автор: UnHost 9.9.2006, 01:27
Я пишу рейтинг для WAP-сайта и нужно сделать статистику по мобильным браузерам.
Для этого решил создать таблицу, например,
Код

CREATE TABLE `top_logs` (
  `id` int(6) NOT NULL auto_increment,
  `nokia` int(6) NOT NULL default '0',
  `siemens` int(6) NOT NULL default '0',
  `se` int(6) NOT NULL default '0'
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM ;

И потом хочу занести это все в массив и отсортировать по убыванию хитов и получилось что-то типа
Siemens - 10 хитов.
Nokia - 9 хитов.
Sony Ericsson - 8 хитов.

Не подскажите как лучше сделать?

Автор: skifoz 9.9.2006, 08:11
Код

$q = mysql_query("SELECT * FROM top_logs ORDER BY se DESC");
while($idq = mysql_fetch_assoc($q)){
    echo $idq['nokia']." - ".$idq['se']."\r\n";
}

Мне только ассолютно не понятна твоя таблица, поля nokia и siemens они что должны содержать? а так же поле se?? Вообщем сортируется все просто командой ORDER BY потом пишешь по какому полю сортировать, а потом как сортировать (DESC,ASC).


Автор: Shark 9.9.2006, 12:44
Цитата

Мне только ассолютно не понятна твоя таблица, поля nokia и siemens они что должны содержать? а так же поле se?? Вообщем сортируется все просто командой ORDER BY потом пишешь по какому полю сортировать, а потом как сортировать (DESC,ASC).

если я правильно тонят... 
nokia и siemens и se(Sony Еricsson) содержат колво хитов...smile))...

Автор: UnHost 9.9.2006, 13:59
Да, Shark правильно понял...smile
Таблица содержит кол-во хитов разных браузеров, я тока три написал для примера...

Хотя ладно, по-другому сделаю...

Автор: -=Ustas=- 9.9.2006, 18:56
UnHost, ну если ты уже так сделал (что конечно не правильно), то выбирай данные и результатирующий массив сортируй.

Автор: Vaulter 9.9.2006, 20:19
UnHost, таблицы нужно организовать хотя бы так:
[code=sql]
CREATE TABLE `top_logs` (
  `type_id` int(6) NOT NULL default '0',/* 0 -нокиа, 
1 - сименс, 2 - сони, 3-моторола, 4- супер пупер телефон
`counts` bigint NOT NULL default '0'
  PRIMARY KEY  (`type_id`)
) ENGINE=MyISAM ;

вот..


Автор: UnHost 9.9.2006, 22:31
Vaulter, да так и сделал, но просто если кол-во запросов к файлу с счетчиком (картинкой) рейтинга будет очень много, то как мне кажется в итоге может получится неприятная ситуация...Там статистических данных много делаю...

Автор: Vaulter 10.9.2006, 12:19
UnHost, ну так подумай, 
какая у тебя информация. сделай структуру БД,
чего тебе более критично (uPDATE,SELECT,INSERT) с тем раскладом и делай таблицу.
строки а потом аггрегат на выборке
или строки сразу аггрегируются в таблице

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)