Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sortiranje nizova po velicini jednog elementa niza

[es] :: PHP :: sortiranje nizova po velicini jednog elementa niza

[ Pregleda: 4561 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dddtux

Član broj: 130928
Poruke: 35
80.74.165.*



Profil

icon sortiranje nizova po velicini jednog elementa niza09.03.2007. u 14:55 - pre 208 meseci
Iz MySQL uzimam podatke (npr. o svim ucenicima: ime, prezime, odeljenje, razred, ocena(1..n), prosecna ocena (koju nemam u bazi, vec se izracunava od podataka koji stizu iz baze).

Code:
$ucenik=mysql_query("select * from ucenik");
while($upit=mysql_fetch_array($ucenik){
 
//    izracunava prosecnu ocenu

$niz= array("$upit[ime]", "$upit[prezime]", "$upit[ocene]", "$upit[prosecna_ocena]");

//***

}


Treba da napravim niz u koji ce biti smesteni svi $niz, da bih mogao da ih razvrstam po prosecnoj oceni (da prvi u tabeli bude ucenik sa najvecim prosekom). Formiram tabelu, ali su ucenici rasporedjeni po redosledu ucitavanja iz baze.

Hvala unapred!


[Ovu poruku je menjao Nemanja Avramović dana 07.03.2008. u 09:55 GMT+1]
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: sortiranje nizova po velicini jednog elementa niza10.03.2007. u 01:00 - pre 208 meseci
mysql_query("select * from ucenik order by prosecna_ocena");
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

dddtux

Član broj: 130928
Poruke: 35
195.252.101.*



Profil

icon Re: sortiranje nizova po velicini jednog elementa niza10.03.2007. u 09:45 - pre 208 meseci
Prosecnu ocenu nemam u bazi, vec se izracunava od ocena koje su u bazi.

Treba mi niz koji je sastavljen od nizova koji se prave u svakom krugu petlje.
Znaci, razvrstavanje nizova po promenljivoj koje NEMA u MySQL bazi.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: sortiranje nizova po velicini jednog elementa niza10.03.2007. u 10:59 - pre 208 meseci
Prvi način: u samom select upitu sračunaš vrednost proseka za svakog učenika pa to upotrebiš u "order by", ide nešto sa "group by" ali ne znam napamet, pogledaj mysql manual.

Drugi način: kad dodaješ učenika u glavni niz dodaj ga sa:
Code:
 $tmp= round($prosek*1000); 
 while(isset($niz[$tmp])) $tmp= "$tmp#"; 
 $niz["$tmp"]= array("$upit[ime]", "$upit[prezime]", "$upit[ocene]", $prosek);

i posle samo primeniš ksort();

"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Whois

Član broj: 92214
Poruke: 37
77.46.130.*



Profil

icon Re: sortiranje nizova po velicini jednog elementa niza10.03.2007. u 11:15 - pre 208 meseci
bas mucite kod...

select *, (oc1+oc2+...ocn)/n as prosek from ucenici order by prosek
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: sortiranje nizova po velicini jednog elementa niza12.03.2007. u 10:02 - pre 208 meseci
AVG() :)

Recimo da je ovako:
ucenikID = Svaki ucenik ima svoj ID ....
Code:

SELECT ucenikID, AVG(ocene) FROM student GROUP BY ucenikID ORDER BY ocene


Ako za svaku ocenu imas posebnu kolonu onda ovako: ( Tj kao sto je WHOIS napisao)

Code:

SELECT ime, (ocena0+ocena1+ocena2...ocenaN)/N AS prosek FROM studenti ORDER BY prosek


PS
Ovo je valjda bilo pitanje za MYSQL :)

[Ovu poruku je menjao sale83 dana 12.03.2007. u 11:17 GMT+1]
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

dddtux

Član broj: 130928
Poruke: 35
80.74.165.*



Profil

icon Re: sortiranje nizova po velicini jednog elementa niza13.03.2007. u 10:18 - pre 208 meseci
Hvala na pomoci.

Trebala mi je pomoc oko skripta koji razvrstava nizove koji su vec formirani

usort($niz, rang)

gde je

function rang($a, $b){
if($a[broj_elementa_u_nizu] == $b[broj_elementa_u_nizu])
return 0;
else if ($a[broj_elementa_u_nizu] < $b[broj_elementa_u_nizu])
return 1;
else
return -1;
}

gde je, opet, broj_elementa_u_nizu = 9, npr.

Ovo mi razvrstava nizove u opadajucem redosledu prema 9. elementu niza.
Problem, 2.deo:
Ako zaboravimo MySQL, i ako treba da posle razvrstavanja prema elementu 9, razvrstava i po elementu 8 (ako ima vise istih proseka, na vise mesto u listi se stavlja ucenik sa vecom ocenom iz nekog izbornog predmeta, na primer)?
 
Odgovor na temu

zrnoo
Vukašin
dizajn, programiranje
Beograd

Član broj: 73204
Poruke: 312
*.adsl.beotel.net.

ICQ: 56375637
Sajt: www.Tjuner.com


Profil

icon Re: sortiranje nizova po velicini jednog elementa niza06.03.2008. u 23:31 - pre 196 meseci
imam i ja jedno pitanje...Ako imam u jednoj tabeli id, učenik ... a u drugoj id, brojocena , zbir .. kako sada da spojim te dve tabele i napravim ispis 5 ucenika sa najvecom ocenom poredjnom po opadajucem nizu. id je isti u obe tabele tj govori o kom se uciniku radi.. znaci zelim ovako...

tabela 1
-------
1. Marko
2. Ivan
3. Mirko
...itd

tabela 2
-------
1. 29 84
2. 23 50
2. 45 140
...itd



jel moze neko da mi pomogne .. kapiram ja da prvo ide konekcija na bazu vadim podatke o uceniku i delim ocenu sa brojem glasanja i dobijem prosecnu ocenu, ali ne znam kako to da uradim za vise njih i ogranicim ispis za 5...
molim ljude dobre volje za konkretnu pomoc (ne ono, ti zelis ceo kod)..verujem da nije nista strasno...

unapred se zahvaljujem!
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: sortiranje nizova po velicini jednog elementa niza06.03.2008. u 23:42 - pre 196 meseci
@zrnoo - Probaj ovako:

Code:

SELECT t1.*, t2.* FROM tabela1 AS t1 INNER JOIN tabela2 AS t2 ON t1.ID = t2.ID ORDER BY t2.zbir DESC LIMIT 0,5


Pitanje za MySQL Forum ....
 
Odgovor na temu

[es] :: PHP :: sortiranje nizova po velicini jednog elementa niza

[ Pregleda: 4561 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.