BartTheDevil89
Devilution Media
- 2 Mai 2006
- 3.960
- 103
Hi, ich möchte folgende Datei auslesen:
https://rss.golem.de/rss.php?tp=av&feed=RSS2.0
Das funktioniert auch, hab mir jetzt dieses Script gebastelt:
Also das Prinzip ist, dass er die Daten ausließt und ich dann anhand der namen der Zeile mir jeweils die News zusammenbastle(diese $count != sind Ausnahmen, wo der tag nochmal in der Datei verwendet wird aber zu keinem Eintrag gehört; also nicht wundern, das ist einfach nur, dass das ausgelassen wird) und wenn ich die letzte info des Eintrages habe die Daten eintrage. Dann macht er das mit dem nächsten Eintrag....
Das funktioniert auch alles ohne Probleme. Nur ein Problem hab ich und zwar wird das ganze ja so ausgelesen, dass der neuste Eintrag zuerst verarbeitet wird. Dadurch wird ja beim eintragn zum Beispiel in die Datenbank der neuste Beitrag als erstes eingetragen und der älteste als letztes....somit passt die Reihenfolge nichtmehr.
Sehr ihr ne Möglichkeit das so zu verändern, dass er erst mir eventuell die Datensätze zusammenbaut und ich sie dann in der anderen Reihenfolge verarbeite?
https://rss.golem.de/rss.php?tp=av&feed=RSS2.0
Das funktioniert auch, hab mir jetzt dieses Script gebastelt:
PHP:
$xml_parser = xml_parser_create();
$daten = implode (file ("https://rss.golem.de/rss.php?tp=av&feed=RSS2.0"), "");
xml_parse_into_struct ($xml_parser, $daten, &$werte, &$index);
xml_parser_free ($xml_parser);
$count = 1;
$titel = "";
$link = "";
$text = "";
foreach ($werte as $w) {
if ($w["tag"] == "TITLE" and $count != 3){
$titel = $w['value'];
}elseif($w["tag"] == "LINK" and $count != 9 and $count != 25){
$link = $w['value'];
}elseif($w["tag"] == "DESCRIPTION" and $count != 6 and $count != 28){
$text = $w['value'];
$news_newss = $db -> query_first("SELECT COUNT(*)FROM table WHERE link='$link'");
if ($news_newss[0]!= 0){
$db->unbuffered_query ("UPDATE table SET name='$titel',text='$text' WHERE link='$link'");
echo "Führe das Update aus...<br>";
}else{
$db->query("INSERT INTO table(userid,name,text,link)VALUES ('1','$titel','$text','$link')");
echo "Trag die Daten ein<br>";
}
}
$count++;
}
Also das Prinzip ist, dass er die Daten ausließt und ich dann anhand der namen der Zeile mir jeweils die News zusammenbastle(diese $count != sind Ausnahmen, wo der tag nochmal in der Datei verwendet wird aber zu keinem Eintrag gehört; also nicht wundern, das ist einfach nur, dass das ausgelassen wird) und wenn ich die letzte info des Eintrages habe die Daten eintrage. Dann macht er das mit dem nächsten Eintrag....
Das funktioniert auch alles ohne Probleme. Nur ein Problem hab ich und zwar wird das ganze ja so ausgelesen, dass der neuste Eintrag zuerst verarbeitet wird. Dadurch wird ja beim eintragn zum Beispiel in die Datenbank der neuste Beitrag als erstes eingetragen und der älteste als letztes....somit passt die Reihenfolge nichtmehr.
Sehr ihr ne Möglichkeit das so zu verändern, dass er erst mir eventuell die Datensätze zusammenbaut und ich sie dann in der anderen Reihenfolge verarbeite?