kaikki mahdollinen kokeiltu, enkä saa pelittää.
http://62.44.217.249/rss/viestit.txt
http://62.44.217.249/rss/uutisa.php
eli aikaleiman mukaan järjestykseen uutisa.php
En jaksanut kaikkia aikaleimoja tutkia, mutta ainakin alkupää oli järjestyksessä. Koodikin voisi auttaa.
Edit. ai katsos, nuo ei mene limittäin aikajärjestykseen nuo dt:n hs:n uutiset...
rivin lopussa hs = helsingin sanomat
rivin lopussa dt = digitoday
tiedot ovat viestit.txt:ssä , mutta uutisa.php ei suostu tulostaa
kuin ensin hs ja sitten dt jotka ovat jo muutenkin järjestyksessä.
edit: just niin
Helpoin ratkaisu on lukea nuo tiedot taulukkoon, jonka indeksiksi laitat tuon aikaleiman. Sen jälkeen ksort(). Tosin jos kahdella uutisella sama aikaleima, niin toinen häviää.
Toinen vaihtoehto on parsia nuo edelleen taulukkoon siihen muotoon, että kikkailet tuon hs/dt vaikka tonne rivin päätteeksi. Eli siis rivit alkavat aina aikaleimalla.
Elite-vaihtoehto on lukea nuo moniulotteiseen taulukkoon ja sortata array_muyltisortilla() :)
Toimiihan tuo nyt vihdoin, mutta vaikka sieltä tulee ulos vain teksti dataa,
niin olisi pitänyt laittaa kantaan, on jo tuolla määrällä vähän hidas.
Jos ymmärsin oikein, funktio rsort riittää järjestelyyn.
<?php $uutiset = file("viestit.txt"); rsort($uutiset); foreach ($uutiset as $tieto) { $osat = explode("|", $tieto); echo date("d.m.Y H:i", $osat[0]) . ": " . $osat[2]; } ?>
Niin kauan kuin rivejä on satoja tai tuhansia, järjestelyn pitäisi kyllä olla aika nopeaa.
Antti Laaksonen kirjoitti:
Jos ymmärsin oikein, funktio rsort riittää järjestelyyn.
Jep, tekstitiedoston muoto on muuttunut, eilen siellä oli vielä se lähde ensimmäisenä rivissä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.