Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] Zmiana pozycji rekordu, czyli jak ustawiac rekord o jedne w góre lub o jedne w dól
Luke_Star
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

Ostrzeżenie: (0%)
-----


Jak w temacie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Rozchodzi sie o najbardziej optymalny mało kombinownay sposób na zmiane pozycji np. Kategorii w bazie danych. Chodzi oczywiście o zmiane pozycji w góre lub w dół.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Nattfarinn
post
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Zamiast pakować to w pętlę czy rekurencję dla przesunięć o większą ilość pozycji już lepiej podać na którą pozycję ma być przesuniecie, zmienić w bazie pole odpowiedzialne za pozycję wszystkim wartościom (większym lub równym ale mniejszym niż przesuwana pozycja - dla przesunięcia w górę, analogicznie w dół) na +1 (lub -1 dla przesunięć w dół), a następnie przypisać przesuwanemu wierszowi wartość pola na które chcesz przesunąć.

Dla przykładu:
Kod
1. Sałata
2. Kapusta
3. Marchew
4. Kalafior
5. Ogórek

Przesunięcie Kalafior na pozycję numer 2 to: inkrementacja pól dla Kapusty i Marchwii a następnie przypisanie Kalafiorowi pozycji 2.

Efekt finalny:
Kod
1. Sałata
2. Kalafior
3. Kapusta
4. Marchew
5. Ogórek


PS. Wybaczcie to łopatologiczne porównanie do warzyw, ale mam właśnie dobry humor (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował Nattfarinn 16.12.2007, 19:15:14
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 02:34