Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przesuwanie pozycji bloków menu
Forum PHP.pl > Forum > Przedszkole
dado
Wszyscy pewnie kojarzycie zarządzanie forami w phpbb jest tam taka fajna opcja gdzie można pozycjonować sobie fora w górę albo w dół. Chciałbym coś takiego zrobić ale z blokami menu na stronie, wyświetlane z bazy danych przypuścmy tabela o takiej budowie
  1. lp | nazwa | typ | sort | polozenie | src | visible | mode


gdzie pole sort odpowiada za kolejność wyświetlania.

Be problemu robi się inkrementację danego wiersza tabeli przez:

  1. UPDATE bloki SET sort=sort+1 WHERE lp='".$_GET['id_pola']."'


ale pozostaje problem bo pole na pozycję którego wskakuje ten wiersz ma ten samą wartość sort. Może ktoś już coś takiego robił, proszę o radę.
aleksander
robisz dwa updatey:)

jeden sort+1 a drugi sort-1 WHERE sort=sort+1
yavaho
Ja mam tak
  1. ID | Lp | nazwa | src | visible

Podczas tworzenia nowej pozycji w menu nadaje jej unikalny nr [Lp]
$Lp=time();
Menu wyswietlane na stronie jest w kolejnosci Lp
Aby zmienic polozenie elementow w menu wystarczy zmienic miedzy dwoma elementami ich wartosc Lp.
dado
hm tzn coś takiego questionmark.gif
  1. UPDATE blocki SET sort=sort+1, sort=sort-1 WHERE sort=sort+1

sorka nie czaje bazy worriedsmiley.gif


oki wykombinowałem cos takiego ale z kolejności 1,2,3 robi mi 0,2,4
  1. UPDATE blocks SET sort=sort-1 WHERE lp < '".$_GET['id']."' LIMIT 1"
  2. update blocks set sort=sort+1 WHERE lp ='".$_GET['id']."'"

pole lp unikalne i autoincrement
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.