Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Wyciaganie i sortowanie poszczegolnych danych z pliku
post 31.05.2004, 19:39:31
Post #1





Grupa:
Postów: 0
Pomógł:
Dołączył: --

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


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>
Go to the top of the page
+Quote Post
maulus
post 1.06.2004, 18:47:50
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 15.12.2003

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


z tego co widze, najnowsze wpisy masz zawsze na, końcu jeśli nie ma wyjątków może poprostu je pobrać??


--------------------
gg:5216061
Warsztat: Win XP HE | Apache - 2.0.49 | PHP - 5 RC | MySQL - 4.0.18 | Narzędzia: WinSyntax
Artykyłu v0.2beta[b]lllllllllllllllllllllllll 100%
Go to the top of the page
+Quote Post
zombie
post 1.06.2004, 23:40:55
Post #3





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

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


[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:


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
hwao
post 2.06.2004, 08:54:30
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




[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]
Go to the top of the page
+Quote Post
treewood
post 2.06.2004, 11:50:49
Post #5





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 18.01.2003

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


"$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


--------------------
Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
Go to the top of the page
+Quote Post
post 2.06.2004, 13:25:56
Post #6





Grupa:
Postów: 0
Pomógł:
Dołączył: --

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


Hmm, żeby juz nie mieszac to napiszecie mi maly kodzik, ktory bedzie wyswietlal w podany wyzej sposob, ale tylko 3 pierwsze linie z pliku.
Go to the top of the page
+Quote Post
hwao
post 2.06.2004, 13:41:38
Post #7


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Jak juz masz ta $arrDane tablice to robisz tak (mam nadzieje ze sobie juz ja ladnie posortowales smile.gif )
[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
Go to the top of the page
+Quote Post
scanner
post 2.06.2004, 13:49:07
Post #8





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
hwao
post 2.06.2004, 13:51:01
Post #9


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




qrcze rzeczywiscie :oops:
Sorka zaraz poprawie
Btw:
Nie wiem czy u Ciebie nie posypie sie jezeli w pliku(tablicy) bedzie mniej niz 3 linie
Go to the top of the page
+Quote Post
post 3.06.2004, 17:12:19
Post #10





Grupa:
Postów: 0
Pomógł:
Dołączył: --

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


Chyba sobie nie poradze z tym posortowaniem sad.gif, pomożecie mi?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 21:04