Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]zmiana pozycji w bazie i aktualizacja pozostałych PDO
Forum PHP.pl > Forum > Przedszkole
marcopolo1
Witam,
Postanowiłem, że wspomnę o tym tutaj

mam przykładową bazę danych:


Zrzut danych tabeli tabela

id name numer_show other_info
1 pierwszy 1
2 pierwszy 4
3 pierwszy 2
4 pierwszy 6
5 pierwszy 3
6 pierwszy 7
7 pierwszy 11
8 pierwszy 9
9 pierwszy 10
10 pierwszy 5
11 pierwszy 8

powiedzmy, że jest to menu wyświetlane w kolejności "numer_show".
i teraz problem:
jeżeli chcę przenieść pozycję 10 z numer_show by była na 5 miejscu, to:

1.muszę ID:9 zapisać w zmiennej zapasowej, by ją na końcu edytować,
2. każdy element, który był pod 10 z numer_show, a był większy bądź równy zmienianej muszę zwiększyć o 1
-no i z tym właśnie mam problem - mogę dać do array wszystkie id, które były w tym przedziale, a potem zwiększać każdego wartość o 1 w numer_show.. - czy istnieje zapytanie SQL, które może to zrobić za jednym zamachem( a jeżeli to nie problem to dodatkowo sprawdzi, czy wartość jest minimalna czy maksymalna - wtedy nie edytuje )? oraz wyjaśni mi co się kiedy dzieje ?biggrin.gif

3.zamienić numer_show w id9 z 10 na 5


Jeżeli ktoś może to proszę o linka do jakieś książki odnośnie bardziej zaawansowanych zapytań sql..
nospor
NIe ogarniam co ty chcesz zrobic... jak chcesz zrobic sortowanie po numer_show to robisz:
...order by numer_show asc
i po sprawie
marcopolo1
zmieniam w id9 numer_show z 10 na 5
z pozostałych id, które miały przedział numer_show od 5 do 10 zwiększam każdy o 1 .. - nie wiem jak to logiczniej mam napisać - chcę to zrobić jednym zapytaniem i właśnie tego zapytania szukam
Kishin
masz już cokolwiek napisane?
marcopolo1
hmmm inaczej - jak zmienić kilka rekordów na raz - zwiększyć 5 kolejnych po sobie rekordów o 1 ?
np.

numer_show => numer_show
2 =>3
3 =>4
4 =>5
5 =>6
6 =>7

i jak to zrobić jednym zapytaniem ?
Kishin
  1. UPDATE TABLE SET numer_show =numer_show +1
  2. WHERE numer_show BETWEEN 2 AND 6
  3.  


cos takiego?
marcopolo1
dokładnie....
Piwo przy okazji haha.gif
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.