Ahojda, nevíte jak v SQL náhodně seřadit "seskupená" data?
Prostě mám anketu která obsahuje odpovedi na anketní otázky více anket a já potřebuju aby mi odpovedi na jednu anketu zustali u sebe (nemusej bejt v pořádí a,b,c a lepší by i bylo kdyby byli přáházený naáhodně ale to už je detail) ale pořádí "anket" se přeházelo náhodně.
napr: aby mi to vyhodilo tohle...
odpoved na 4.anketu A
odpoved na 4.anketu B
odpoved na 4.anketu C
odpoved na 4.anketu D
odpoved na 1.anketu A
odpoved na 1.anketu B
odpoved na 1.anketu C
odpoved na 3.anketu A
odpoved na 3.anketu B
odpoved na 2.anketu A
odpoved na 2.anketu B
odpoved na 2.anketu C
Nevíte jak na to v MySql 4.0 ?
No jasný to jo ale to my rozhází ty cisla anket tzn ze nebudou u sebe odpovedi na otazku urcity ankety. Spíš jsem měl položit otazku jak ty odpovedi seskupit a pak nahodně rozházet...
Dva cykly v sobě:
1. Náhodně rozhodíš odpovědi na čísla anket (tedy např.: 4, 1, 3, 2).
2. Postupně vypisuješ odpovědi přiřazeny k číslům ankety.
Nevím, jak máš udělanou tabulku, ale možná takto nějak:
ID_ankety Odpoved_moznost
4 A
4 B
4 C
1 A
1 B
.
.
.
Princip:
SELECT * FROM tabulka GROUP BY ID_ankety ORDER BY RAND()
while $anketa = mysql_fetch_array {
SELECT * FROM tabulka WHERE ID_ankety = $anketa['ID_anketa']
vypis
}
to zbi: A nešlo by to jen jedním selectem? Tohle už mě taky napadlo, ale to by znamenalo co anketa to jeden selectem, to je docela rozdíl při 60 anketách - 60 selectů místo jednoho kterým to dělám teď nenáhodně...