Попълване на масив в PHP с данни от MySql

alisiana

Registered
Здравейте,
имам един проблем, който за Вас сигурно е елементарен. Опитвам се да направя разпределение на ученици за предмети по избор, като критерий за това е средният им успех. Базата ми данни е в Mysql информацията за трите избора които правят учениците я съхранявам в таблица - Students(id, name, Choice1,Choice2,Choice3, sr_uspeh). Идеята е първите 30 ученици с най-висок успех да се разпределят по първо желание, след това от останалите пак 30 ученика с най-висок успех да се разпределят на второ желание и по същият начин за останалите.

Идеята, която на мен ми хрумна е да съхраня информацията за учениците - техният избор и успех в някакав масив на PHP и после да направя алгоритъм за това разпределение , но незнам как да съхраня даните в номериран масив за да мога да работя после с него. А може би има и по-лесно решение чрез някакви заявки към самата база данни ?
Ако някой има някаква идея, моля Ви помогнете ми!
Благодаря Ви, предварително!
 
пробвах , но може би проблема ми е, че незнам как да използвам извлечената информация и как точно се складира в масива ми за да я използвам.
 
Здравей,

значи първо забравяме за масивите и циклите,защото SQL не е процедурен език :)
Тъй като не е казано каква точно е БД, за MySQL ще изглежда така:
Код:
(SELECT id,name,Choice1 choice FROM Students ORDER BY sr_uspeh DESC LIMIT 30)
UNION
(SELECT id,name,Choice2 FROM Students ORDER BY sr_uspeh DESC LIMIT 30,30)
UNION
(SELECT id,name,Choice3 FROM Students ORDER BY sr_uspeh DESC LIMIT 60,30);
Поздрави 8)
 
Благодаря за заявката, която ми е написал КОКО5, наистина е това което ми трябва ,но аз пропуснах да уточня , че избора който провят учениците е от 6 възможни предмета да изберат 3 от тях и да ги поставят като 1,2,3 желание. При което се получава, че комбинацията от желания е различна за всеки ученик, а за всеки предмет от тези 6 може да има по не повече от 30 ученика записани. Тоест това доста затруднява писането на заявката според мен. Ако някой има идея как може да се реализира това, моля да помогне.
Благодаря Ви!
 

Back
Горе