Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie wynikow.
Forum PHP.pl > Forum > PHP
thornag
Czolem.

Potrzebuje malego sortowania wynikow tzn pozycjonowania na zasadzie :

1.wynik up down
2.wynik up down
3.wynik up down
4.wynik up down
5.wynik up down

przy klikaniu up lub down po prostu przemieszcza sie wynik smile.gif

Pomyslow mam kilka ale szukam najbardziej optymalnego. Jesli ktos ma sprawdzony algotytmi chce sie podzielic to chetnie (algorytm bez kodu) .

Moj pomysl taki. Przy kliknieciu w up czy down pobieram pozycje o jeden mniejsza/wieksza od wybranej i zamieniam je miejscami. Tak w teori. W praktyce wygladalo by to mmniej wiecej tak:

  1. SELECT poz FROM wyniki WHERE poz = GET[poz] - 1;
  2. $id = fetcharray[wynik]; $id = id[id];
  3. UPDATE wyniki SET poz = oldpoz WHERE id = $id;
  4. UPDATE wyniki SET poz = newpoz WHERE id = GET[id];


Sorry ze taki kod zakrecony ale na kolanie pisalem w przerwie sniadaniowej tongue.gif
nasty
W SQL: ORDER BY _______ [DESC/ASC] zaleznie od tego co podrzebujesz. to tak w wielkim skrucie tongue.gif
tiraeth
Nasty chyba nie rozumiesz problemu...

@thornag:
musisz sobie generować linki typu: plik.php?pos=2&new=4&max=222

gdzie max to maksymalna pozycja zwiększona o 1

  1. UPDATE TABLE SET poz = MAX WHERE poz = NEW;
  2. UPDATE TABLE SET poz = NEW WHERE poz = POS;
  3. UPDATE TABLE SET poz = POS WHERE poz = MAX;


Coś w tym rodzaju chyba powinno być...
thornag
Nie nie chodzi mi o pozycjonowanie przez zapytanie smile.gif

Dla tabeli

news_id pozycja naglowek tresc;

Chce sortowac zapytaniem wedlug pola pozycja.

Teraz w adminie chce miec mozliwosc zmiany tej pozycji na zasadzie dwoch linkow w gore i w dol. Chodzi mi o skrypt do tego. By po nacisnieciu 'gora' skrypt zmienil pozycje wiadomosci o jeden w gore, a ta ktora byla wyzej na jeden w dol. Podobne rzeczy sa w CMSach typu NUKE gdzie mozesz sobie w ten sposob ustawiac order modulow,



----------
Zobacz mój post /tiraeth/

UP: rzeczywiscie sposob bardzo dobry. Ja chcialem robic przez dodatkowe SELECTy - bezsensu. Jeszcz eraz dziekuje. Pozdrawiam.

DOWN: I do tego statsujesz :PPPPPP
nasty
Cytat
Nasty chyba nie rozumiesz problemu...

na to wyglada tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.