Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie polaczonych tablic wedlug daty
hamlecik
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Witam,

Mam problem, z ktorym nie moge sobie poradzic. Problem wyglada nastepujaco:

Pobieram z bazy danych z dwoch roznych tabel po 10 wierszy (z kazdej tabeli) i potem za pomoca funkcji array_merge lacze oba wyniki w jedna tablice. print_r tablicy wyglada mniej wiecej tak:

Kod
Array
(
    [0] => Array
        (
            [0] => 1
            [id] => 1
            [2] => 20-10-2004
            [data] => 20-10-2004
        )

    [1] => Array
        (
            [0] => 2
            [id] => 2
            [2] => 21-10-2004
            [data] => 21-10-2004
            [3] => 2
            [jakies_pole] => 2
        )
}


Problem tkwi w tym, ze mam rozne daty i jesli wyswietle je bez sortowania wedlug daty to mam mniej wiecej taki wynik:

id | 21-10-2004
id | 31-10-2004
id | 11-11-2004

itp.

W jaki sposob moge posortowac ta tablice wedlug daty tak aby sie wyswietlane wyniki byly sortowane od najwczesniejszej daty do najstarszej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hamlecik
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 31.07.2003

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


Witam,

Odswiezam temat bo wkoncu zrobilem to sortowanie. Kod Jojo dal mi wiele pomocy aczkolwiek jest w nim blad. Chodzi o funkcje mktime, ktora powinna miec skladnie:

Cytat
mktime ( int godzina, int minuta, int sekunda, int miesiąc, int dzień, int rok [, int letni/zimowy])


a w kodzie sa zamienione miejscami dzien i miesiac.

Napisalem wkoncu troche wlasnego kodu, ktory dziala tak jak nalezy:

  1. <?php
  2. for( $i = 0; $i < count( $latest ); $i++ )
  3. {
  4. $arrTime0 = explode( '-', $latest[$i]['data'] );
  5. $intT = mktime( 0, 0, 0, $arrTime0['1'], $arrTime0['0'], $arrTime0['2'] );
  6.  
  7. $latest[$i]['time'] = $intT;
  8. }
  9.  
  10.  
  11. function csort( $a, $b ) 
  12. {
  13. return strnatcmp( $b['time'], $a['time'] );
  14. }
  15.  
  16. usort( $latest, &#092;"csort\" ); 
  17. ?>
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: 17.10.2025 - 04:06