Autor Zpráva
PepaZDepa
Profil *
Ahoj,

chci se zeptat, jak udělat nějaké rozmné řazení dat z databáze. Mám např. v db nějaké produkty, které mají sloupec ID (jedinečné ID, které se vźdy o 1 navyšuje) a sloupec ORD, což je pořadí. Pokud při zadávání produktu není ORD vyplněn ukládá se do db ORD=0. Primárně bych produkty rád řadil podle ID sestupně (1. produkt bude ten s nejvetším ID (nejnovější) 2. bude produkt s 2. největším ID.....). Pokud má ovšem produkt vyplněn ORD, rád bych jej ve výpisu upřednostil a dal jej na první místo. Pokud dám ovšem produkty řadit dle ORD, tak nastává problém. Jelikož ORD nevyplňuji, tak je u všech produktů nastaven na 0 a jen u 5ti produktů, kde jsem ORD vyplnil (např na 1,2,3,4,5) je uveden. Při řazení dle ORD sestupně mi to řadí takto:
produkt s ord 0
produkt s ord 0 a ID 6
produkt s ord 0 a ID 7
produkt s ord 0 a ID 8
produkt s ord 0 a ID 9
produkt s ord 1 a ID 5
produkt s ord 2 a ID 4
produkt s ord 3 a ID 2
produkt s ord 4 a ID 2
produkt s ord 5 a ID 1


Potřeboval bych ovšem, aby na prvních pěti pozicích byly produkty s ord 1-5 a až poté produkty, které mají ORD = 0. Lze to pomocí PHP a MySQL vyřešit? Nic mě bohužel nenapadá.

Pro výběr dat z databáze využívám dibi, kdyby to situaci nějak usnadnilo.

Kdybych problém popsal nesrozumitelně, pokusím se to ještě jednou vysvětlit.

Děkuji Vám
Taps
Profil
PepaZDepa:
prostuduj si http://rjwebdesign.net/Blog/MYSQL/20070721-Specialni-Razeni-Dat-V-Databazi-MySQL
PepaZDepa
Profil *
Bezvadné, děkuju moc, funguje přesně tak, jak jsem očekával.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0