Ongelma:
Järjestää RSS syötteet niin kuin ampparit.com:issa eli kategoriat olisivat 5min, 15min, 30min, 1h, 2h, 4h, 12h ja 24h.
Alustus:
pegin koodi tässä keskustelussa https://www.ohjelmointiputka.net/keskustelu/
Pegin koodissa on tämä komento:
foreach($rss1a as $item) { printf('%s | <a href="%s">%s</a> helsingin sanomat <br>'.("\n"),/*date($item['timestamp']).' | '.*/date(" H:i",$item['timestamp']),$item['url'],$item['title']); }
josta olen mitätöinyt tämän date($item['timestamp']).' | '..
Koodi tuon pienen muutoksen jälkeen näyttää samalta kuin täällä http://62.44.216.148/linkit/testiu.php
Nuo syötteet luultavasti voidaan järjestää aikakategoroihin tällä parametrillä date($item['timestamp'].
Mutta miten tuota parametria käyttäen syötteet voidaan järjestää aikakategoroihin? Ehkä jollain funktiolla?
Jätän tähän sinulle hieman pohdinnan varaa sen suhteen, miten saat lopullisen tulostuksen tehtyä. Tämä ei välttämättä ole paras tapa toteuttaa systeemiä, mutta pitäisi kuitenkin olla toimiva (joskaan en testaillut).
$times = array( array(0, '5 min'), array(5, '15 min'), array(15, '30 min'), array(30, '1 tunti'), array(60, '2 tuntia'), array(120, '4 tuntia'), array(240, '12 tuntia'), array(720, '24 tuntia'), array(1440, 'Yli 24 tuntia') ); $curtime = 0; foreach($rss1a as $item) { while( $times[$curtime + 1][0] > 0 && $times[$curtime + 1][0] >= date('n', time() - $item['timestamp']) ) { $curtime++; } printf('%s | <a href="%s">%s</a> helsingin sanomat <br>'.("\n"),/*date($item['timestamp']).' | '.*/date(" H:i",$item['timestamp']),$item['url'],$item['title']); }
Kiitos!
Tuo on hyvä alku. Nyt pohdin sitä, että miksi nuo otsikot eivät tulostu ollenkaan. Yllätyksenä minulle listaan ei tullut mitään eroa. Ehkä koodisssa on jokin pieni bugi. Ilmoitan siitä, jos löydän sen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.