Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.060 pregleda

Najnovija ↓

redjanje kategorija po brojevima koje im dodelim 22.04.2011. u 11:43 · pre 189 meseci #1
Zelim da napravim jedan sajt za radnju koja se bavi prodajom racunara. Sa leve strane bih imao kategorije, i jedino imam problem oko njihovog redjanja. Ne bih zeleo da ih redjam sve po abecedi, nego bih zeleo prvih par da poredjam onako kako ja hocu, a ostatak po abecedi. Znaci npr. ubacujem kategoriju laptopovi, dodelim joj broj 1 i zelim da laptopovi budu na prvom mestu. Ali bi zeleo da kasnije kad ubacim desktop racunare, i njih stavim da budu broj, da laptopovima promeni broj u 2. Pa u toku npr. promenim dekstop u 2 da se laptopovi automatski prebace u 1. I tak obih zeleo da imam jedno 5 kategorija koje bi mogao ja da redjam po broju koji im dodelim. Da li je ovo moguce, ili da li neko ima neki drugi savet kako ovo da odradim?
Re: redjanje kategorija po brojevima koje im dodelim 22.04.2011. u 11:54 · pre 189 meseci #2
Pazi za ordering ti je najlakse da u bazi imas dodatnu kolonu u tabeli kategorije koja ce ti cuvati redni broj kategorije u navigaciji. Kasnije samo kad izvlacis uradis ORDER BY cat_order (recimo da se tako zove kolona).

Sto se naknadne reorganizacije tice uradi tako da kad napravis novu kategoriju i dodelis joj cat_order koji vec postoji, skripta update-uje tabelu tako sto ce promeniti cat_order svih postojecih kategorija, od tog rednog broja koji dodajes, povecati za jedan (spustiti ispod).

Nadam se da je ideja malo jasnija?
Potpis
Bad programmers worry about the code. Good programmers worry about data
structures and their relationships.
Re: redjanje kategorija po brojevima koje im dodelim 22.04.2011. u 16:48 · pre 189 meseci #4
Postavis da ti je default vrednost order kolone jednaka 100, tj. svi redovi na koje neces da utice order imaju vrednost 100. (lupio sam 100, treba neki broj veci od max broja grupa koje hoces da rucno sortiras)
ID mi je vrednost primary key-a reda koji premestas.

Prvi slucaj kada premestas sa vise pozicije na nizu. Npr sa pozicije 5 na poziciju 2 onda pokrenes ova 2 SQL-a;
Code (sql):

UPDATE TABLE SET `order` = `order` + 1 WHERE `order` >= 2 AND `order` < 5 AND `order` <> 100;
UPDATE TABLE SET `order` = 2 WHERE id=ID
 


Drugi slucaj kada premestas sa nize pozicije na visu. Npr sa pozicije 2 na poziciju 5;
Code (sql):

UPDATE TABLE SET ORDER = `order` - 1 WHERE `order` > 2 AND `order` <= 5 AND `order` <> 100;
UPDATE TABLE SET `order` = 5 WHERE id=ID
 


U kodu radis sortiranje:

Code (sql):

SELECT * FROM TABLE ORDER BY `order`, naziv
 
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme