XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Webstream - aktueller Tag (http://xhtmlforum.de/showthread.php?t=59397)

skip23 03.12.2009 15:21

Webstream - aktueller Tag
 
Hallo Zusammen,

wie bekomme ich hin das mir immer nur der AKTUELLE Tag mit Datum ausgegeben wird ... bis jetzt habe ich folgendes:

Code:

<?php

date_default_timezone_set("Europe/Berlin");

$feeds = array(
    "electrovagant"        =>    "",
    "last.fm"            =>    "",
    "flickr"        =>    "",
    "twitter"        =>    ""
);

$details = array("title","link");

$list = array();

$rss = new DOMDocument();

foreach ($feeds as $name => $feed) {

    $rss -> load($feed);

    $items = $rss -> getElementsByTagName("item");

    foreach ($items as $item) {

        if ($item -> getElementsByTagName("pubDate") -> item(0)) {
            $date = $item -> getElementsByTagName("pubDate") -> item(0) -> nodeValue;
        } else {
            $date = $item -> getElementsByTagName("date") -> item(0) -> nodeValue;
        }
        $date = strtotime(substr($date,0,25));

        $list[$date]["name"] = $name;

        foreach ($details as $detail) {

            $list[$date][$detail] = $item -> getElementsByTagName($detail) -> item(0) -> nodeValue;

        }
    }
}

krsort($list);

$day = "";

foreach ($list as $timestamp => $item) {

    $this_day = date("d.m.y",$timestamp);

    if ($day != $this_day) {

        echo "</tbody>\n";
        echo "<thead>\n";
        echo "<tr>\n";
        echo "<th colspan=\"3\">";
        echo $this_day;
        echo "</th>\n";
        echo "</tr>\n";
        echo "</thead>\n";
        echo "<tbody>\n";

        $day = $this_day;

    }

    echo "<tr class=\"vevent ";
    echo $item["name"];
    echo "\">\n";
    echo "<th>";
    echo "<abbr class=\"dtstart\" title=\"";
    echo date("c",$timestamp);
    echo "\">";
    echo date("G:i",$timestamp);
    echo "</abbr>";
    echo "</th>\n";
    echo "<td>";
    echo "<a class=\"url summary\" href=\"";
    echo $item["link"];
    echo "\">";
    echo $item["title"];
    echo "</a>";
    echo "</td>\n";
    echo "<td>";
    echo "<img src=\"images/";
    echo $item["name"];
    echo ".gif\" alt=\"";
    echo $item["name"];
    echo "\" />";
    echo "</td>\n";
    echo "</tr>\n";

}

?>

Es soll wie gesagt alle Einträge zum aktuellen Datum ausgeben werden ... nur diese...

viele grüße

False Mirror 03.12.2009 16:52

Also sehr einfach wäre doch sowas wie folgendes:

PHP-Code:

$time gettimeofday();
$now $time["sec"];
$offset $time["minuteswest"]*60;
$today = ($now+$offset)-$now%86400

$today hat dann den den heutigen tag, 0:00 in sekunden
86400 = 24*60*60

dann brauchst du nur noch ne Abfrage ob
PHP-Code:

$timestamp>=$today 

Vorausgesetzt ist dann natürlich dass keine items in die Zukunft datiert wurden. In dem Fall müsstest du halt noch 86400 draufaddieren und als obere Grenze nehmen.

skip23 03.12.2009 18:23

hm ok gut ... aber ich bin mir nicht sicher wie ich das nun in mein skript einbauen kann ...

False Mirror 03.12.2009 18:28

na zum Beispiel hier:

PHP-Code:

if($date>=$today && $date<$today+86400){
    
$list[$date]["name"] = $name;

    foreach (
$details as $detail) {

            
$list[$date][$detail] = $item -> getElementsByTagName($detail) -> item(0) -> nodeValue;

    }



skip23 03.12.2009 18:31

lol ja das hat wohl geklappt ... wenn ich das jetzt sehe ist es auch logisch ... aber manchmal ... vielen dank!!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:58 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023