Вывод "Топ 10" PHP, MySQL

MiladyX
На сайте с 23.09.2008
Offline
65
2180

Приветствую, задача такая, в бд есть таблица такого плана:

Надо вывести ТОП 10 Фамилий, кот. встречаются в базе:

Петров - 2

Иванов - 1

ну и т.д. по всей таблице, естессно, если будет каких либо фамилий больше, они будут занимать первое место, или ниже, т.е. переставляться динамически. Как сделать? :)

Snoopik
На сайте с 20.02.2009
Offline
29
#1

ORDER by Фамилия

public class SearchEngines
MiladyX
На сайте с 23.09.2008
Offline
65
#2

ну а в PHP как вывод организовать? 10 Фамилий лидирующих...

Snoopik
На сайте с 20.02.2009
Offline
29
#3

Что значит лидирующих? по алфавиту или по каким-то данным?

A
На сайте с 26.11.2007
Offline
37
#4

1. пишем селект к базе

select Фамилия from Таблица order by Тот_Самый_Параметр

Тот_Самый_Параметр - это тот самый параметр, по которому делаете сортировку

это должно быть отдельным полем в вашей таблице:

Петров - 2

Иванов - 1

вопщем-то так...

2. получаем с помощью функции PHP резалт-сет, например в виде массива...

3. в цикле, например

for ($i=1;$i<=10;$i++)

фигачим фамилии

print Result[$i];

.....

контрольная по пхп чтоль?

Консультации по Drupal (http://www.alweb.ru). Разработка и оптимизайция сайтов на CMF Drupal.
MiladyX
На сайте с 23.09.2008
Offline
65
#5
Snoopik:
Что значит лидирующих? по алфавиту или по каким-то данным?

Я описал, ТОП 10 наиболее встречающихся в базе.

Петров - 10

Иванов - 8

Сидоров - 5

и т.д.

10 фамилий. База постоянно пополняется, и количество фамилий меняется, и места у них меняются тоже.

MiladyX добавил 14.06.2010 в 23:20

Alweb, пасиба, попробую. Не, не контрольная, надо просто так организовать вывод...) и от дупля не отстрелю пока.

Буду пробовать ваш вариант

MiladyX добавил 14.06.2010 в 23:27

Alweb:


2. получаем с помощью функции PHP резалт-сет, например в виде массива...

эта шо такое?

A
На сайте с 26.11.2007
Offline
37
#6

не доглядел таблицу... и не допонял...

неправильный селект написал

щас поэкспериментирую

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#7

SELECT count(username) as count, username FROM data GROUP BY username ORDER BY count LIMIT 10

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Snoopik
На сайте с 20.02.2009
Offline
29
#8

SELECT Фамилия, COUNT(Фамилия) AS num_all FROM Таблица GROUP by Фамилия ORDER by num_all LIMIT 10;

LEOnidUKG - опередил ;)

A
На сайте с 26.11.2007
Offline
37
#9

аха :) типа того :)

Alweb добавил 14.06.2010 в 23:38

ORDER BY count DESC

топ же вроде :)

MiladyX
На сайте с 23.09.2008
Offline
65
#10

Пасибо ребят всем большое, буду пробовать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий