![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 16.04.2005 Skąd: Białowieża Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Specyfikacja sytuacji: Elementy w moim systemie menu są sortowane według pola 'order' od zera w górę, w panelu administracyjnym jest opcja przesuwania ich w górę oraz i w dół. Oto funkcja, która służy mi do przykładowego przesunięcia danego elementu tablicy "w górę":
Specyfikacja rezultatu: Działa bez zarzutu. Specyfikacja problemu: Cholera, tutaj są aż cztery zapytania x) Pytanie: Ma ktoś pomysł, jak zamienić te order'y szybciej i za pomocą mniejszej liczby zapytań? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 92 Pomógł: 15 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Wykombinowałem kod przy pomocy ktorego robi sie to jednym zapytaniem. Nic nie psuje jesli np. wiersz juz jest na samej gorze a ty mimo wszystko bedziesz go chcial przesunac wyzej. Nic nie musisz sprawdzac. Przetestowyany i dziala ale ... tak niefortunnie wybrales pole 'order' slowo zarezerwowane ze trzeba je brac w cudzyslowia i trzeba robic dodatkowe aliasy. Dla mojej testowej tabeli (categories) kod wyglada nastepujaco.
Wszystkie wystapienia "6" musisz zastapic swoja zmienna $menuitemid (przyklad jest dla kategorii o id 6) categories -> ###menuitems categories_id -> id categories_order -> order Przerobka nie powinna sprawiac klopotow a tylko troche gimnastyki bo tak jak mowilem musisz wszystko apostrofowac (tzn nazwa tabeli i kolumna order) a przy moich nazwach nie trzeba pozdrawiam Ps. jesli mialbys problem z przerobka daj znac, pomoge jesli bys nei mogl odnalesc sie w tym kodzie to moge wytlumaczyc krok po kroku Ten post edytował heaven 11.11.2007, 09:23:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 17:38 |