Witam,
Mam trochę dziwny problem do rozwiązania.
jest sobie pewna strona, która umożliwia dodawanie przez admina PDFów w pewnych kategoriach i podkategoriach, do tej pory kategorie te były sortowane wg id podkategorii, w bazie mam id subkategorii (i kategorii) i wszystko było by ok, gdyby... w pewnym momencie właściciele nie zarzyczyli sobie aby wszystko było sortowane alfabetycznie...
i select typu:
  1. <?php
  2. $sql = 'select `id`,`name`,`createdTime`,`subcat`,`subyear`,`orderBy`,`group`
  3.            from '.$this->dbTablePdf.'
  4.            where `pageId`='.$pageId.' and `lang`=''.$lang.''
  5.            order by `subcat` ASC, `subyear` DESC, `orderBy` ASC';
  6. ?>

Dodam że wszystkie subkategorie są w plikach, a nie mysqlu co też utrudnia mi działanie,
przykładowa kategoria:
  1. <?php
  2. $lunarNotesSubCategorysArr = array('Lunar Value Note','Lunar Japan Fund','Lunar Greenback Certificate','Lunar Greenback Note II','Lunar Greenback Note III','Lunar WTI Note','Lunar Epsilon Certificate','Sequoia EDH Value Note','Lunar Asian Indices Note','Lunar EPRA Note','Lunar REIT Note');
  3. ?>


Teraz tak, o ile sortowanie tej tablicy i wyciągnięcie indeksów nie jest trudne, to gdy będę miał kolejność ZAŁÓŻMY
2,4,5,1,7,3 itp, jak to wyciągnąć z DB? order by, nie ma sensu w takim przypadku, chyba że bym stworzył tymczasową tablice z takimi danymi i po nich sortował. Jednak czy to nie będzie zbyt 'procesochłonne'? załóżmy na stronie jest ok 100-200 PDFów.

A może lepszym rozwiązaniem było by dodać subkategorie do mysql... i dać ..... order by (select id from subcategory order by name)... . Mam jednak przeczucie że takie rozwiązanie nie będzie działać, z powodu braku możliwości zagnieżdżania order by (a może to dotyczyło tylko limit). Jak byście rozwiązali taki problem?



EDIT
Nie wiem dlaczego czasami tak kombinuję, przecież można dodać wiersz w tabeli a w nim wpisywać nazwę subkategorii i po tym sortować... dotychczasowe kategorie można dodać przez inny skrypt... i wszystko powinno działać bezproblemowo..., powinno a czy będzie zaraz się to okaże smile.gif