Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie tabeli mySQL, Jak posortować tabelę po wstawieniu nowego rzędu.
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Mam takie pytanie:

Mam tabelę mySQL a w niej np. 5 rzędów z wpisami

ID NAZWA KOLEJ
-----------------------
1. | rząd_1 | 1
2. | rząd_2 | 2
3. | rząd_3 | 3
4. | rząd_4 | 4
5. | rząd_5 | 5
---------------------- ( tabela #1 )

I teraz chcę wstawić nowy rząd pomiędzy rzad_2 i rząd_3. Wymyśliłem taki sposób, że na ustalam wartość kolejnośći nowego rzędu na średnią arytmetyczną rzędów pomiędzy. W tym wypadku kolejnośc = 2.5. Otrzymuje takie coś:

ID NAZWA KOLEJ
-----------------------
1. | rząd_1 | 1
2. | rząd_2 | 2
6. | rząd_N | 2.5
3. | rząd_3 | 3
4. | rząd_4 | 4
5. | rząd_5 | 5
---------------------- ( tabela #2 )

Ale żeby nie było późniejszych zawirowań sortuje tą tabelę tak aby KOLEJ nie zawierała zmiennoprzecinkowych liczb. Otrzymuję:

ID NAZWA KOLEJ
-----------------------
1. | rząd_1 | 1
2. | rząd_2 | 2
6. | rząd_N | 3
3. | rząd_3 | 4
4. | rząd_4 | 5
5. | rząd_5 | 6
---------------------- ( tabela #3 )

I wszystko wyglada pięknie ale sortowanie przeprowadzam za pomocą PHP co jest dość nieefektywne. Zna ktoś może sposób aby ( tabelę #2 ) posortowac do postaci ( tabeli #3 ) za pomocą zapytania SQL ?!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Black-Berry
post
Post #2





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Testując to wynikł jeszcze jeden problem. Co jeśli chcę zamienić miejscami wpisy np 2 i 4 a nie dodać nowy. Nie moge wtedy użyć kolej=kolej+1 bo dostałbym takie coś:

1. dodaje 1 do kazdego wpisu począwszy od 2 i mam

1. k=1
2. k=3
3. k=4
4. k=5
5. k=6

2. zamieniam 4 na 2 i ostatecznie tabela wyglada tak:

1. k=1
4. k=2
2. k=3
3. k=4
5. k=6

3. Jak widać brakuje mi teraz 5. Musi byc przeciez jakiś sposób na sortowanie tabeli mySQL. ?!

Ten post edytował Black-Berry 8.06.2007, 01:14:43
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 - 19:40