Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: sort, usort, natsort

peg [28.06.2007 19:19:52]

#

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

ajv [28.06.2007 19:23:34]

#

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...

peg [28.06.2007 19:32:19]

#

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

ajv [28.06.2007 19:44:28]

#

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() :)

peg [28.06.2007 21:27:56]

#

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.

Antti Laaksonen [29.06.2007 16:49:08]

#

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.

ajv [29.06.2007 19:07:34]

#

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ä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta