![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam, próbuję napisać swojego małego CMSka. Zetknąłem się z takim problemem, nie wiem jak przenosić (góra/dół) pozycji w menu? Chodzi o to, że teraz menu jest ładowane według ID, pomyślałem, że powinno być ładowane według jakiegoś innego parametru, który można zmieniać i zmieniając ten parametr można układać pozycje w menu, z tym że nie wiem do końca czy dobrze myślę oraz jak to zrealizować...
Ma ktoś pomysły? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Dodaj pozycję w tabeli nazwaną załóżmy 'pozycja' i robisz potem order by pozycja
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dodaj pozycję w tabeli nazwaną załóżmy 'pozycja' i robisz potem order by pozycja No tak, to wiem, tylko teraz pytanie, jak za pomocą jednego kliknięcia w link wykonać na bazie 3 operacje: 1. pobrać nr pozycji menu nad przenoszoną pozycją 2. zmienić tę pozycję o 1 mniej 3. zwiększyć pozycję przenoszonego menu o 1 więcej no bo tak to by się robiło, prawda? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Pobierasz pozycję klikniętego ID
Pobierasz ID i pozycję rekordu następnego Zamienisz pozycję wymienionych ID-ków między sobą. Nie da się tego zrobić jednym zapytaniem ale nic nie stoi na przeszkodzie aby użyć kilku - jeden po drugim -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jednak coś mi nie działa, może ktoś sprawdzić co robię nie tak:
kod bazy:
linkiem (link poniżej) przekazuję zmienne: index.php?article_id=edytuj&positiont=3&article_id=3 i wykonuję na bazie zapytanie:
i nie działa... Aha, menu jest układane według ORDER BY position co robię nie tak? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Cytat index.php?article_id=edytuj&positiont=3&article_id=3 Zobacz co napisałeś Najpierw do article_id wpisałeś edytuj a potem 3 Zmień albo jedno albo drugie pole Druga rzecz: Nie ustawiaj +/- 1 bo jak usuniesz pole ze środka to już będzie byk. Napisałem wyżej abyś zamieniał pozycję miejscami Załóżmy że w $article_id jest 3 (position nie musisz przekazywać wystarczy że określisz czy do dołu czy do góry chcesz przenieść) Kod // przykład
$wynik=mysql_fetch_array(mysql_query("select position from articules where article_id=".$_GET['article_id'])); $wynik2=mysql_fetch_array(mysql_query("select article_id,position from articules where position<".$wynik['position']." order by position desc limit 0,1")); mysql_query("update articules set position=".$wynik['position']." where article_id=".$wynik2['article_id']); mysql_query("update articules set position=".$wynik2['position']." where article_id=".$wynik['article_id']); Ten post edytował wipo 15.11.2006, 11:09:53 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem o co chodzi, ale nie działa
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem o co chodzi, ale nie działa ![]() A może jakieś błędy byś zaprezentował? -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie ma błedów, po prostu nic się nie dzieje...
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
index.php?article_id=edytuj&positiont=3&article_id=3
A to poprawiłeś? -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 7.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zapisywać wartości w tablicy i je sortować przy pomocy instrukcji sort, albo możesz spróbować sortowania bąbelkowego.
Pozdrawiam PeterBass |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:44 |