Autor Zpráva
scratcher
Profil
Zdravím,
potřebuji pls poradit s jedním problémem.
Mám v eshopu produkty, kazdy produkt muze být v 1 až 3 kategoriích (řešeno sloupcem kat1,kat2,kat3 v tabulce - kat1 je hlavní kategorie do které produkt patří). Potřebuji udělat řazení produktů ale toho řazení může být pro každou kategorii jiné (pokud by v řaezní bylo zadáno 000 byl by produkt zobrazen na začátku výpisu, pokud by bylo 999 byl by zobrazen na konci a pokud by bylo zadano 005 byl by produkt zobrazen na 5te pozici ve vypisu).
Chtel jsem pouzit "ORDER BY" ale to bohuzel nefunguje jak potrebuji "zaznamu co maji poradi 000 muze byt i 20 a ja potrebuji na 5te pozici dat jiny zaznam (ten ktery ma priznak razeni 005).
Ohledně toho řazení je nutné aby třeba pro kat1 byl produkt na pozici 000 (zacatek) ale pro kat2 třeba na 999 (konec) pro kat3 třeba na 5tem miste. Razeni nebude nikdy podle cisel 1,2,3,4...atd (moc komplikovane reseni) proto to potrebuji resit 000 to co ma byt na zacatku,999 co ma byt na konci a pak treba 005 by urcovalo presnou pozici ve vypisu (takže by meli byt 4zaznamy s razenim 000, pak zaznam s razenim 005, pak zas razeni 000 - pokud by nejake zaznamy byly a pak az razeni 999).Můžete mě nasměrovat jak toto realizovat (v MySQL a PHP :))?.
Kajman_
Profil *
Můžete udělat dva dotazy
where razeni not in ('000','999') order by razeni
where razeni in ('000','999') order by razeni
A v php pak vypisovat z jednoho nebo z druhého selectu (podle toho, zda se aktuální řádek shoduje s vysněným pořadím).

A pořadí ke každé kategorii uděláte jednoduše vazební tabulkou
id_kategorie, id_zbozi, poradi
scratcher
Profil
to Kajman_:
Toto by mozlo byt mozna dobre reseni ale potrebuji vypisovat zaznamy s "000" na zacatku "999" na konci a razeni ktere je "005" ma byt ve vypisu na 5tem miste,takze ty 2 selekty mi neudelaji to aby se ten zaznam s "005" zaradil mezi "000" na 5te misto. To je ten muj hlavni porblem.
scratcher
Profil
melo by to vypisovat polozky v tomto razeni napr.:
000,000,000,000,005,000,007,000,999,999,999 apod.

A jeste k tem 2 selektum, tak to bude taky pro strankovani, sice muzu vypisovat jednou z toho a podruhe z jineho,ale pri strankovani by pak byl problem od ktereho zaznamu zacit.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0