RSS Feed - Die letzte Nachricht wird nicht angezeigt

DeeJay-Luke

Mitglied
Moin!

Mein RSS-Feed geht nicht wirklich, der zuletzt eingetragene Nachricht wird nicht im feeder angezeigt. die sortierung erfolgt nach id DESC.

woran kann das liegen?
Link zum Feed

PHP:
<?php
$xt_title = 'rssFeed';
include('../xtstats/xt_counter.php');
header("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
?>
<rss version="2.0">
<channel>
<title>GoalGate Polnisches Fussballportal RSS</title>
<link>http://www.goalgate.de/</link>
<title>GoalGate Polnisches Fussballportal/</title>
<description>Nachrichten aus der polnischen Liga und der Nationalmannschaft</description>
<language>de-DE</language>
<?php
include ("../config/verbinde.php");		
$query = "SELECT * FROM news ORDER BY time DESC LIMIT 1,1";
$result = mysql_query($query,$verbindung);
$row = mysql_fetch_array($result);
?>
<lastBuildDate><?php echo date("D, d M Y H:i:s T", $row["time"]) ?></lastBuildDate>
<copyright>2006 Goalgate</copyright>
<image>
<url>http://www.goalgate.de/rss/rss_gg.png</url>
<title>GoalGate Polnisches Fussballportal/</title>
<description>Nachrichten aus der polnischen Liga und der Nationalmannschaft</description>
<link>http://www.goalgate.de</link>
</image>
<?php
$query = "SELECT * FROM news ORDER BY time DESC LIMIT 10";
$result = mysql_query($query,$verbindung);
$row = mysql_fetch_array($result);
while($row = mysql_fetch_array($result))	{
	echo "	<item>\n";
	echo "		<title>".$row["titel"]."</title>\n";
	echo "		<description>".substr($row["beitrag"],0,strpos($row["beitrag"],".",200)+1)."</description>\n";
	echo "		<link>http://www.goalgate.de/index.php?c=artikel&amp;cap=".$row["id"]."</link>\n";
	echo "		<author>".$row["user"]."</author>\n";
	echo "		<pubDate>".date("D, d M Y H:i:s T", $row["time"])."</pubDate>\n";
	echo "	</item>\n";
}
?>
</channel>
</rss>
 
Lass doch einfach mal das LIMIT weg!

und mach mal:
PHP:
$query = "SELECT * FROM news ORDER BY time DESC LIMIT 1,1";
$result = mysql_query($query,$verbindung);
if (!$result) echo mysql_error();
else $row = mysql_fetch_array($result);
 
Hast du überhaupt 10 Einträge in der DB?

Setz mal hinter die zweite Abfrage diesen Code
PHP:
echo "Es gibt ".mysql_num_rows($result)." Einträge<br>";
umzu sehen, wie viele Einträge genommen werden.

@Stefan
Die erste Abfrage dürfte nichts mit seinem Problem zu tun haben. Die ist ja nur dazu da, um dass letzte Aktualisierungsdatum zu bekommen.
 
Zuletzt bearbeitet:
@fanste achso, so genau hab ich net geschaut. :)

Hmm und bekommst du nachdem du auch mal errors haben willst nen SQL Error? probier den Query dochmal in PhpmyAdmin oder so aus... vielleicht erzählt der dir mehr! Mach ich immer so, bevor ich nen Query implementier geht der durch PhpmyADmin!
 
Probier mal Folgendes:
PHP:
<?php

	if( !defined('DATE_RSS') ) {
		define('DATE_RSS', 'D, d M Y H:i:s T');
	}

	include '../xtstats/xt_counter.php';
	include '../config/verbinde.php';


	$query = '
		SELECT
		        `time`
		  FROM
		        `news`
		  ORDER BY
		        `time` DESC
		  LIMIT
		        1
		';
	$lastBuildDate = mysql_result(mysql_query($query, $verbindung), 0);

	header('Content-Type: application/xml; charset=ISO-8859-1', true);
	echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';

?>
<rss version="2.0">
<channel>
	<title>GoalGate Polnisches Fussballportal RSS</title>
	<link>http://www.goalgate.de/</link>
	<title>GoalGate Polnisches Fussballportal/</title>
	<description>Nachrichten aus der polnischen Liga und der Nationalmannschaft</description>
	<language>de-DE</language>
	<lastBuildDate><?php echo date(DATE_RSS, $lastBuildDate); ?></lastBuildDate>
	<copyright>2006 Goalgate</copyright>
	<image>
		<url>http://www.goalgate.de/rss/rss_gg.png</url>
		<title>GoalGate Polnisches Fussballportal/</title>
		<description>Nachrichten aus der polnischen Liga und der Nationalmannschaft</description>
		<link>http://www.goalgate.de</link>
	</image>
<?php

	$query = '
		SELECT
		        `title`,
		        `beitrag`,
		        `id`,
		        `user`,
		        `time`
		  FROM
		        `news`
		  ORDER BY
		        `time` DESC
		  LIMIT
		        10
		';
	$result = mysql_query($query, $verbindung);
	while( $row = mysql_fetch_array($result) ) {
		echo '	<item>'."\n";
		echo '		<title>'.htmlentities($row['titel']).'</title>'."\n";
		echo '		<description>'.htmlentities(substr($row['beitrag'], 0, strpos($row['beitrag'], '.', 200)+1)).'</description>'."\n";
		echo '		<link>http://www.goalgate.de/index.php?c=artikel&amp;cap='.$row['id'].'</link>'."\n";
		echo '		<author>'.htmlentities($row['user']).'</author>'."\n";
		echo '		<pubDate>'.date(DATE_RSS, $row['time']).'</pubDate>'."\n";
		echo '	</item>'."\n";
	}

?> 
	</channel> 
</rss>
 
Da wird sich nicht viel ändern. So wie ich das sehe, hast du bei der zweiten Abfrage doch nur die Felder angegeben. Aber es werden ihm ja die Einträge ausgegeben. Aber eben nur 9 und nicht 10.
 
Zurück