Witam chciał bym zrobić coś takiego, że mam plik txt a w nim w osobnych linijkach różne daty, które nie są poukładane.
I w pewnym miejscu na stronie wyświetla mi się kolejno 5 dat najbliższych do dzisiejszej.
Jak takie coś zrobić ??
Witam chciał bym zrobić coś takiego, że mam plik txt a w nim w osobnych linijkach różne daty, które nie są poukładane.
I w pewnym miejscu na stronie wyświetla mi się kolejno 5 dat najbliższych do dzisiejszej.
Jak takie coś zrobić ??
nie na pisałeś w jakim języku chciałbyś to zrobić
załóżmy żę w php
1 wczytujesz plik
2 tworzysz tablice z datami
3 zamieniasz daty do formatu unix timestamp
4 sortujesz
5 sprawdzasz dzisiejsza
6 wybierasz interesujce cię daty.
a tu wszystko co potrzebujesz dla operacji na datach: http://www.php.net/manual/en/function.date.php
Może ktoś by się znalazł mi jakiś tutek jak takie coś zrobić. Lub sam pomógł… Bo siedzę już kilka godzin szukam i nic…
zakładając, że plik daty.txt wygląda tak:
2010-07-10
2010-06-05
2010-07-15
2010-06-07
2010-08-30
2010-06-11
2010-06-28
2010-07-01
2010-06-13
2010-06-25
2010-06-12
2010-06-18
aby wybrać 5 dat wcześniejszych od dziś:
<?php
$table=file('daty.txt');
rsort($table);
$dzis=date('Y-m-d');
$i=0;
foreach ($table as $linia){
if ($dzis >= trim($linia)){
echo $linia.'
';
$i++;
}
if ($i==5){
break;
}
}
?>
– Dodane 08.07.2010 (Cz) 13:51 – 2 daty z przyszłości (jeśli istnieją)+ 3 z przeszłości:
<?php
$table=file('daty.txt');
rsort($table);
$dzis=date('Y-m-d');
while ($linia=current($table)){
if ($dzis >= trim($linia)){
$klucz=key($table);
break;
}
next($table);
}
if ($klucz<2) $klucz=2;
for ($i=$klucz-2; $i<=$klucz+2; $i++){
echo $table[$i].'
';
}
?>
a może być coś takiego, żeby podczas wyświetlania 5 najbliższych dat z boku pisały np: imiona : ??
Po prostu w pliku txt będę zapisywał obok dat jakieś wyrazy np :
2010-07-10 - Adam
2010-06-05 - Karol
2010-07-15 - Andrzej
2010-06-07 - Bolek
2010-08-30 - Marek
Czy to także zadziała ???
Ja bym proponował rozdzielić datę w pliku od imienia nie myślnikiem a np. średnikiem i zmodyfikować trochę kod:
while ($linia=current($table)){
$komorka=explode(';',$linia);
if ($dzis >= trim($komorka[0])){