Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie według daty
Forum PHP.pl > Forum > Przedszkole
MOniToR
Na mojej stronie potrzebuje sortowac pobierane dane z bazy według daty dodania. Nie moge sortować ich według id ponieważ bazę będe uzupełniał danymi sprzed wielu miesięcy a baza już sporo informacji też ma i za bardzo nie moge mieszac aby nie utracić danych. Date zapisuje do bazy w formacie dd-mm-rrrr. Prosze o pomoc smile.gif
polibode
order by date
MOniToR
Cytat(polibode @ 2005-01-05 16:38:51)
order by date

ehh chciałbym aby to było takie proste, data jest zapisywana jako zwykły tekst do bazy danych i sortuje mi według dnia, nie uwzgledniajac miesiaca i roku. Mam pomysł jak to rozwiązać lecz za bardzo tego nie umiem wykonac. Aby zmienna z data rozbic na tablice i później odpowiednia porównać i posortować. Przypominam że daty sa zapisane w bazie w stylu dd-mm-rrrr.
MOniToR
eh PRZECIEZ NAPISAŁEM, ŻE W BAZIE MAM DANE I NIE MOGE ICH UTRACIĆ POPRZEZ MODYFIKACJE STRUKTURY TABELI
Wieviór
Jakie masz zapytanie?

Sql = 'SELECT * FROM 'costam' ORDER BY DATE'?

może daj:

Sql = 'SELECT * FROM 'costam' ORDER BY 'polezdatą''

Jeżeli nie dałeś cudysłowów to on to czyta jako INT, więcej tylko cyferki przechodzi przez DD i dochodzi do "-" i tu się zatrzymuje bo jako INT czyta tylko cyfry.
tiraeth
Cytat
eh PRZECIEZ NAPISAŁEM, ŻE W BAZIE MAM DANE I NIE MOGE ICH UTRACIĆ POPRZEZ MODYFIKACJE STRUKTURY TABELI

To teraz powiem Ci: CZY NIE MOŻESZ ZROBIĆ NP:
  1. <?php
  2. $select = &#092;"SELECT date FROM tabela\";
  3. $result = mysql_query($select, $connect); // Pobieramy dane
  4.  
  5. while($row = mysql_fetch_assoc($result))
  6. {
  7.  $date = $row['date'];
  8.  $data[$date] = strtotime($date);
  9. }
  10.  
  11. $update = &#092;"\";
  12. foreach($data as $date => $strtotime)
  13. {
  14.  $update.= &#092;"UPDATE tabela SET date='\".$strtotime.\"' WHERE date='\".$date.\"'; \";
  15. }
  16.  
  17.  $update = substr($update, 0, -2); // Usuwamy ostatnie \"; \"
  18.  $result = mysql_query($update, $connect);
  19. ?>


Jeżeli skrypt zadziała to podmieni datę w formacie DD-MM-YYYY na UNIXOWY znacznik czasu TIMESTAMP..... potem będziesz mógł normalnie sortować.....
MOniToR
Tiraeth nie działa :/
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.