Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 1 Dołączył: 29.03.2006 Ostrzeżenie: (0%)
|
mam problem z przesuwaniem blokow menu mam o to taki kod php
no i niby wszystko dziala ok ale sie bloki menu nie przesuwaja http://koteluk.pl/sklep_internetowy/panel/lista_menu.php |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 288 Pomógł: 12 Dołączył: 2.12.2005 Ostrzeżenie: (0%)
|
bo najpierw zmieniasz nowe id na stare id, a potem zmieniasz wszystkie wiersze, gdzie jest stare id na nowe id, czyli skutek jest taki, że zamieniasz w dwoch wierszach.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 1 Dołączył: 29.03.2006 Ostrzeżenie: (0%)
|
a mi sie wydaje ze to innaczej robie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) najpierw zmieniam aktualne id na nowe (czyli nastepne albo poprzednie po aktualnym id)
a pozniej zmieniam poprzednie albo nastepnie id na id aktualne czyli na $_GET['id'] ale to jakos nie dziala ;/
raz dziala a raz nie;/ Ten post edytował kociupk 30.05.2007, 16:52:52 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%)
|
Cytat a pozniej zmieniam poprzednie albo nastepnie id na id aktualne czyli na $_GET['id'] Nie zamieniasz "poprzedniego albo następnego id", tylko "poprzednie albo następne id + to, które zamieniłeś tym pierwszym zapytaniem". Jeśli `pozycja` to klucz podstawowy tej tabeli, to skopałeś strukturę. A jeśli nie, to tu masz proste rozwiązanie twojego problemu: 1. Pobierz pozycję przesuwanego elementu
2. Pobierz id i pozycję poprzedniego/następnego elementu bazując na wyniku pierwszego zapytania:
3. Jeśli zapytanie nie zwróciło wyniku, to znaczy że dany element jest pierwszy/ostatni i nie robisz nic. W przeciwnym wypadku zamieniasz oba elementy pozycjami:
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 28.03.2004 Skąd: Poznań Ostrzeżenie: (0%)
|
Jeśli `pozycja` to klucz podstawowy tej tabeli, to skopałeś strukturę. Klucz podstawowy jest kluczem unikalnym wiec struktury by sobie nie skopal. Co innego ze teraz ma podwojne wpisy w polu pozycja. Wyjsciem byloby nadanie klucza uniklanego na ta pozycje. Ale tera jest za pozno. A tak ogolnie to tak jak w poprzednich postach: W momencie drugiego uaktualniania masz dwa wiersze z pozycja=$_GET['id']. Co z tego ze robisz limit 1 w zapytaniu, skoro mysql moze raz zgadnac o ktory tobie chodzilo a raz nie? Warto zawsze na trzezwo przesledzic co skrypt robi. Zalozenie miales sluszne, ale skrypt robi cos innego... |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 21:24 |