Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] skrypt sortujący daty..., mam pomysł, ale nie wiem jak wykonać
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

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


Witam serdecznie. Wpadłem na fajny pomysł w związku z którym mam prośbę o pomoc.

Chcę zrobić skrypt, który wyświetla mi dane z pliku aktualności w formacie:
  1. data|tytul|tresc
  2. 2013-11-05|Jakiś tytuł|Blebleble
na podane niże zasadzie:

2013-12-10|xxx|xxxxzxzxz
2013-11-20|xxx|xxzxzxzx
DATA AKTUALNA / DZISIEJSZA
2013-10-30|xxx|xxx
2013-09-10|xx|xx

powiedzmy ze z pobraniem daty sobie poradzę, rozbiciem jej również, ale jak zrobić żeby wyświetlało mi w środku aktualną datę, a np w górę 10 pozycji daty ascendycznie (IMG:style_emoticons/default/smile.gif) a 10 pozycji do dołu daty nieaktualne w chronologii jak powyżej..?

dodatkowa rzecz, jak zrobić, żeby na innej podstronie obliczało i wyświetlało mi tylko najbliższą aktualność? Dla wyjaśnienia napiszę co to jest. W pliku są zapisane zawody z datami - chcę żeby wyświetlany był wpis najbliższych zawodów.

Ten post edytował shpaque 5.11.2013, 07:19:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rocktech.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Proponuję podejście obiektowe bez file, foreach, explode, strtotime.

  1. class SortDataHeap
  2. extends SplHeap
  3. {
  4. public function compare($v1, $v2)
  5. {
  6. if ( new DateTime($v1[0]) == new DateTime($v2[0]) ) {
  7. return 0;
  8. }
  9. return ( new DateTime($v1[0]) < new DateTime($v2[0])) ? -1 : 1;
  10. }
  11.  
  12. }
  13.  
  14. $heap = new SortDataHeap();
  15. $file = new SplFileObject('plik.csv');
  16.  
  17. while ( $file->valid() ) {
  18. $heap->insert($file->fgetcsv('|'));
  19. }
  20.  
  21. while ( $heap->valid() ) {
  22. echo $heap->current()[0] . PHP_EOL;
  23. $heap->next();
  24. }
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 - 02:21