Anonymous
31.05.2004, 19:39:31
Mając plik:
np.
Kod
5|plik1|opis1|01.03.2004
3|plik2|opis2|02.12.2003
33|plik3|opis3|03.02.2004
42|plik4|opis4|03.03.2001
25|plik5|opis5|12.05.2002
23|plik6|opis6|14.08.1999
21|plik7|opis7|12.04.2004
26|plik8 graficzny|opis8|18.05.2004
Jak zrobic zeby wyswietlalo dane z 3 lini, w ktorych daty sa
najświezsze, w taki sposób:
1. <a href=download.php?numer=plik8 graficzny>plik graficzny</a>
2. <a href=download.php?numer=plik7>plik7</a>
3. <a href=download.php?numer=plik5>plik5</a>
maulus
1.06.2004, 18:47:50
z tego co widze, najnowsze wpisy masz zawsze na, końcu jeśli nie ma wyjątków może poprostu je pobrać??
zombie
1.06.2004, 23:40:55
[manual:469e3b1b54]file[/manual:469e3b1b54] -> [manual:469e3b1b54]explode[/manual:469e3b1b54] -> [manual:469e3b1b54]mktime[/manual:469e3b1b54] -> [manual:469e3b1b54]sort[/manual:469e3b1b54] -> [manual:469e3b1b54]foreach[/manual:469e3b1b54]
:wink:
[php:1:bb663b5d5e]<?php
$strData = '03.03.2001';
$arrEx = explode( '.', $strData );
$strTime = mktime( '0', '0', '0', $arrEx['1'], $arrEx['0'], $arrEx['2'] );
?>[/php:1:bb663b5d5e]
Taki czas dopiero mozesz porownywać, zeby Ci posegregowało dobrze.
[php:1:bb663b5d5e]<?php
$arrFile = file( 'plik.txt' );
$arrDane = array();
foreach( $arrFile AS $strLine )
{
$arrDane[] = explode( '|' $strLine );
}
?>[/php:1:bb663b5d5e]
Teraz doklej do tego ten 'czas' co jest u gory i poisegreguj wg niego i będziesz miał.
A co do czasu to zeby go wyświetlic w takiej formie jak Ty masz to
[php:1:bb663b5d5e]<?php
echo data( 'd.m.y', $strTime );
?>[/php:1:bb663b5d5e]
treewood
2.06.2004, 11:50:49
"$strTime = mktime( '0', '0', '0', $arrEx['1'], $arrEx['0'], $arrEx['2'] );"
php pozwala na wszystko ale int'y bym nie wstawial w cudzyslowia ... bo to nie string
Anonymous
2.06.2004, 13:25:56
Hmm, żeby juz nie mieszac to napiszecie mi maly kodzik, ktory bedzie wyswietlal w podany wyzej sposob, ale tylko 3 pierwsze linie z pliku.
Jak juz masz ta
$arrDane tablice to robisz tak (mam nadzieje ze sobie juz ja ladnie posortowales

)
[php:1:a85af70f55]<?php
$intCount = count( $arrDane );
$intLoop = ( $intCount > 3 ? '3' : $intCount );
for($i=0; $intLoop > $i; $i++){
echo $arrDane[$i];
}
?>[/php:1:a85af70f55]
Powinno działac
scanner
2.06.2004, 13:49:07
Cytat
[php:1:8093c65e75]<?php
$strCount = count( $arrDane );
$strLoop = ( $arrDane > 3 ? '3' : $arrDane );
for($i=0; $strLoop > $i; $i++){
echo $arrDane[$i];
}
?>[/php:1:8093c65e75]
Powinno działac
A mozesz mi powiedziec, co ten kod ma robić? Pamiętając o ntypach zmiennych? Bo jak dsla mnie to to jest dziwne..
String przyrówniujesz do inta.. array przypisujesz do stroinga..
string wkladasz w licznik pętli...
I to co napisałeś na penwonie wyświetli trzech pierwszych linii...
[php:1:8093c65e75]<?php
$arrDane = file( 'plik.txt' );
$intLoop = 0;
while( $intLoop < 3 )
{
echo $arrDane[$intLoop++];
}
?>[/php:1:8093c65e75]
qrcze rzeczywiscie :oops:
Sorka zaraz poprawie
Btw:
Nie wiem czy u Ciebie nie posypie sie jezeli w pliku(tablicy) bedzie mniej niz 3 linie
Anonymous
3.06.2004, 17:12:19
Chyba sobie nie poradze z tym posortowaniem

, pomożecie mi?
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.