Помогите сделать выборку из БД. Сделал кучу вложенных циклов. Вроде все работает, но в некоторых случаях получается не то что надо. Причем не понятно почему.
Дела обстоят так:
Есть куча конкурсантов, все делятся по категориям, подкатегориям и возрасту.
Например 1-1-1 = 1 категория, 1 подкатегория, 1 возраст, там 100 участников
Или 7-14-4 = 7 категория, 14 подкатегория, 4 возраст, там 50 участников,
а в 15-15-2, может быть всего один участник.
Где то участников вообще нет.
У каждого участника есть Фамилия и какое то кол-во голосов.
Что бы вывести всех участников
я делаю так:
while($w_cat < 20) { while($w_sub < 18) { while($age < 6) { $query = "SELECT * FROM tbl WHERE w_cat=$w_cat and w_sub=$w_sub and age=$age ORDER BY work_count DESC";
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
fiver
Помогите сделать выборку из БД. Сделал кучу вложенных циклов. Вроде все работает, но в некоторых случаях получается не то что надо. Причем не понятно почему.
Дела обстоят так:
Есть куча конкурсантов, все делятся по категориям, подкатегориям и возрасту.
Например 1-1-1 = 1 категория, 1 подкатегория, 1 возраст, там 100 участников
Или 7-14-4 = 7 категория, 14 подкатегория, 4 возраст, там 50 участников,
а в 15-15-2, может быть всего один участник.
Где то участников вообще нет.
У каждого участника есть Фамилия и какое то кол-во голосов.
Что бы вывести всех участников
я делаю так:
А мне надо вывести работы победителей в каждой категории, подкатегории и возрасте, но с такими условиями:
1. Всего - 3 места;
2. Если участники получили одинаковое к-во голосов, то они делят это место, неважно сколько их.
3. Один участник награждается 1 раз в одной номинации и не может занять несколько мест, только одно самое высокое.
ДЛЯ ПРИМЕРА ИМЕЕМ в 1-1-1
Вася - 200 голосов
Петя - 200 голосов
Коля - 200 голосов
Вася - 150 голосов
Вася - 100 голосов
Дима - 50 голосов
Толя - 50 голосов
Женя - 25 голосов
Гоша - 10 голосов
Результат:
1 место - Вася - 200 голосов
1 место - Петя - 200 голосов
1 место - Коля - 200 голосов
2 место - Дима - 50 голосов
2 место - Толя - 50 голосов
3 место - Женя - 25 голосов
Т.е. Вася по идее занял и 2 место и 3, но так как у него уже 1 место, то все, он убирается с других мест, а номинируются те, кто ниже его.
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.