Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kolejność w bazie
Mody23
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


Witam!

Mam tabelę w bazie. Chodzi o to, że tabela ma wiele pól, ale ja mam pytanie co do jednego - order.
Załóżmy że mam w bazie rekordy o nazwie i order'ze kolejno:

TEST - 1
TESTER - 2
TESTT - 3
TESTERR - 4

I teraz chciałbym tym swobodnie sterować góra/dół, tzn.:

TEST - 1 - GÓRA/DÓŁ
TESTER - 2 - GÓRA/DÓŁ
TESTT - 3 - GÓRA/DÓŁ
TESTERR - 4 - GÓRA/DÓŁ

No i jak mógłbym tym sterować? Załóżmy, że chcę pole TESTT przesunąć w górę o jedną pozycję. Jak mam zrobić aby pole TESTT "zamieniło się" order'em z polem, które jest nad tym polem, czyli TESTER ?

Pozdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Od czasu do czasu można sobie dla pewności wykonać skrypt "sprzątający" dziury:
  1. $query = mysql_query('SELECT id, weight FROM tabela ORDER BY weight ASC, id ASC');
  2. for($weight = 1; $row = mysql_fetch_assoc($query); ++$weight) {
  3. mysql_query('UPDATE tabela SET weight = '.$weight.' WHERE id = '.$row['id']);
  4. }

Ten krótki fragment kodu sprawi, że w bazie będziemy mieli wagi od 1 do n, bez dziur i bez dubli.
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: 8.10.2025 - 08:43