Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sortowanie w locie
corleone
post 23.10.2005, 19:07:59
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Watykan

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


Witam
Mam sobie w bazie daty np

$r[data]
--------
2005-10-12
2005-10-15
2005-12-01
2005-08-09


i teraz robimy takie cuś

$diff= (strtotime($r['data'])-strtotime(date("Y-m-d")))/86400 ;

no i dostajemy np

1
26
-3
8
-12

i chciałbym to posortować a dokładnie te daty ($r[data]) które będę odpowiadały posortowaniu tych liczb
Czy żeby to zrobić muszę to przepisać do innej tabeli czy można zrobbić to jakoś w locie...

Słyszałem kiedys że są jakieś wirtualne tabele w mysql-u i w nich można robić takie rzeczy ale mogę się mylić

Proszę o podpowiedz... ciekaw jestem jak to się robi w praktyce...

Pozdrawiam i życzę miłego dnia.

Ten post edytował corleone 23.10.2005, 20:53:52


--------------------
Never be afraid to try something new. Remember, amateurs built the ark; professionals built the Titanic.
Go to the top of the page
+Quote Post
ActivePlayer
post 23.10.2005, 21:38:17
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


  1. ORDER BY (UNIX_TIMESTAMP(date) - UNIX_TIMESTAMP(now()))/86400 DESC

ale moge sie mylic... najlepiej poszukac w manualu mysqla
Go to the top of the page
+Quote Post
dr_bonzo
post 23.10.2005, 21:47:26
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


a nie po prostu
  1. SELECT roznica_dat()
  2. FROM tabela ORDER BY DATA ASC

Przeciez ta roznica ('data' - 'teraz') bedzie tak samo posortowana jak 'data'.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
mike
post 23.10.2005, 22:29:15
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Konia z żędem temu kto powie mi jaki to ma związek z php.

Przenoszę na Bazy danych -> MySQL
Go to the top of the page
+Quote Post
corleone
post 24.10.2005, 18:33:45
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Watykan

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


Cytat(dr_bonzo @ 2005-10-23 20:47:26)
a nie po prostu
  1. SELECT roznica_dat()
  2. FROM tabela ORDER BY DATA ASC

Przeciez ta roznica ('data' - 'teraz') bedzie tak samo posortowana jak 'data'.

Tylko że ja nie mam różnicy dat w tabeli a nawet jak bym miał to musiałbym je ciągle dopisywać bo codziennie ta różnica byłaby inna (porównuję z dniem dzisiejszym) rozwiązanie ActivePlayer będzie jednak zdecydowanie lepsze...
Sprawdzimy zobaczymy. Pozdrawiam cool.gif


--------------------
Never be afraid to try something new. Remember, amateurs built the ark; professionals built the Titanic.
Go to the top of the page
+Quote Post
dr_bonzo
post 24.10.2005, 18:48:50
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Patrz:
Kod
(dzisiaj jest 2005-10-24)
DATA          | roznica
------------------
2005-10-12 | 12
2005-10-15 | 9
2005-12-01 | 38
2005-08-09 | -74

// po posorowaniu wg twoich kryteriow
2005-08-09 | -74
2005-10-15 | 9
2005-10-12 | 12
2005-12-01 | 38


czyli dostajesz daty posortowane od najstarszej do najnowszej, co mozesz uzyskac za pomoca
  1. ORDER BY DATA ASC

a magiczna 'roznica_dat()' to wynik lenistwa (nie chcialo mi sie tego kopiowac):
  1. (UNIX_TIMESTAMP(date) - UNIX_TIMESTAMP(now()))/86400
.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
corleone
post 24.10.2005, 19:42:11
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Watykan

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


Thx smile.gif Teraz wszystko jasne...

Ten post edytował corleone 24.10.2005, 19:42:34


--------------------
Never be afraid to try something new. Remember, amateurs built the ark; professionals built the Titanic.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 10:16