![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Usprawniając sobie moją stronę natknąłem się na problem. Otóż chciałem sobie zrobić tak jak jest np. w PHP-Fusion w panelu admina zmianę kolejności wyświetlania podstron. Wzorując się właśnie na PHP-Fusion skleciłem kod, choć go do końca nie rozumiem. Działa tak, że przenosi w górę/dół, ale nie chce "wymienić" pozycji, czyli jeśli mam pole o id='7' a pod nim pole o id='8' i dam "w dół" to nie zamieni mi ich. Kod jest taki (napiszę od razu jak ja go rozumiem).
1. Pobieram sobie id z $_GET['moveup'] (przykładowo weźmy 8), 2. W zmiennej link przechowuję pobrane id z bazy danych gdzie id='$id' (czyli tutaj też jest wartość 8), 3. Zmienna up edytuje pole menu na zasadzie dodania do niego 1 w polu o id równym $link['id'] czyli w naszym przypadku 8 (a więc 8+1=9 czyli w sumie na dobrą sprawę to mi powinno przenosić w dół, bo po dodaniu mam większe id), 4. Znów zmienna up edytuje pole menu na zasadzie odjęcia 1 w polu o id równym $id czyli u mnie 8 (a więc 8-1=7). Dlatego otrzymujemy z id=8 dwa id, id=7 i id=9. W żadnej możliwości nie będą koło siebie, a pole o id=8 zostanie puste. Dlaczego tak się dzieje i jak to poprawić ? Z pewnością źle robię kod i źle go interpretuję ale niestety nie wiem gdzie leży błąd. Mam nadzieję że wytłumaczyłem dość dobrze. Pozdrawiam i dziękuję za pomoc. edit: zapomniałem dodać punktów 6, 7 i 8 ale to analogicznie jak moveup. Ten post edytował Mefiuu 1.10.2010, 18:52:14 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź to:
Ten post edytował CuteOne 1.10.2010, 19:20:01 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... Sprawdziłem tak:
I działa poprawnie, ale tak jak do tej pory - nie zamienia mi dwóch pozycji. edit: wydaje mi się że ten kod:
jest poprawny, z tym, że nie wiem jak to obsłużyć aby się zmieniały bo kiedy dojdzie do kroku 3 to próbuje mu nadać np. id=9 które jest przypisane do id niżej. I nie zrobi tego. Ten post edytował Mefiuu 1.10.2010, 20:37:27 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Dwóch pozycji?? chyba Cie nie rozumiem o.o
ps. w twoim skrypcie jest błąd: |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to, aby jednocześnie, w jednym momencie zamienić te dwie pozycje. Bo jeśli robię to w zmiennych, jedna po drugiej to w pierwszej zmiennej mi nie zmieni id na np. 9 skoro niżej już jest takie id. O to chodzi.
P.S. Z tym co podałeś nie działa prawidłowo, z moim działa oprócz zamiany. edit: albo dodać możliwość aby pole id mogło mieć taką samą wartość, czyli np przez chwilę dwa pola id o wartości 9. To by pewno załatwiło sprawę. Ten post edytował Mefiuu 1.10.2010, 21:08:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:02 |