• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

dynamisches lesezeichen + DB-Anbindung

andy83

New member
Moin moin,

habe im Netz eine Mögichkeit gefunden, mit der (angeblich) Lesezeichen mit Inhalten aus der DB gefüttert werden können. Nun habe ich dieses umgesetzt: das Lesezeichen wird gesetzt, nur bleibt dieses LEER!!!!

Code:
PHP:
<?php header("Content-type: text/xml");
echo '<'.'?xml version="1.0" encoding="utf-8"?'.'>'; ?>
<rss version="0.91">

<?php
require_once 'include/db_connection_factory.inc.php';
$db=get_db_connection();

echo "<channel>
<title>Andys Fußballwelt</title>
<description>Fußball WM Südafrika 2010</description>
<language>de</language>
<link>http://www.andy-fussballwelt.de/</link>";


$sql_top = "SELECT * FROM news WHERE event_id=38 or event_id=39 group by news_content order by date desc, id desc Limit 10";
$results_top=$db->query($sql_top);
while ($items_top=$db->fetch_array($results_top))
{

$rss = "<item>";
$rss .= "<title>".$items_top['news_content']."</title>";
$rss .= "<description>{$items_top['news_content']}</description>";
//$rss .= "<pubDate>".date("r", $row['datum'])."</pubDate>";
//$rss .= "<guid>".$row['link']."</guid>";
$rss .= "<link>".$items_top['news_link']."</link>";
$rss .= "</item>";

echo $rss;

}

echo "</channel></rss>";

?>

Sieht jemand einen Fehler oder ist es gar net so realisierbar????

Vielen vielen Dank
 
$sql_top = "SELECT * FROM news WHERE event_id=38 or event_id=39 group by news_content order by date desc, id desc Limit 10";
Deine Verwendung von GROUP BY finde ich ein bißchen komisch, offenbar stört sich mysql aber nicht wirklich daran.

Hast Du denn mal angeguckt, was denn von Deinem Skript produziert wird? Das ist schließlich reiner Text, den kann man als Mensch durchaus mal anschauen.
Außerdem hat es sich als hilfreich erwiesen, wenn man Fehlermeldungen und Rückgabewerte von Funktionen auch auswertet und entsprechend reagiert (vgl. defensive Programmierung).
 
Das ist kein Lesezeichen, sondern ein RSS-Feed...

Das weiß ich :), aber Mozilla bezeichnet es als dynamisches Lesezeichen.....

Wie auch immer: laut Validator soll hier was net stimmen:
PHP:
<'.'?xml version="1.0" encoding="utf-8"?'.'>

Die Deklaration des Elementes 'rss' kann nicht gefunden werden.

Was heißt das????? Verstehe irgendwie das Problem nicht....

Danke


PS: so, jetzt ist es valide:
PHP:
<'.'?xml version="1.0" encoding="utf-8"?'.'>
<rss version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.thearchitect.co.uk/schemas/rss-2_0.xsd">
Aber immer noch keine Daten vorhanden
 
Zuletzt bearbeitet:
Ja, habe ich..... es wird das gezeigt, was gezeigt werden soll, nur nicht im RSS-Feed
Und Du hast Deinen Text schon mal mit einer gültigen RSS Datei verglichen? Da Du uns ja immer nur den serverseitigen Teil zeigst (selbst bei Deinen Versuchen mit dem Validator, der auch keinen PHP Code schluckt) und uns Deine Ergebnisse in PHP Syntax präsentierst, so dass keiner nachvollziehen kann, was tatsächlich rauskommt, musst Du diese Tests und Vergleiche selbst durchführen.

Außerdem solltest Du mal checken, ob Deine DB-Abfrage überhaupt ein Ergebnis liefert, aber das sagte ich ja bereits.
 
...Außerdem solltest Du mal checken, ob Deine DB-Abfrage überhaupt ein Ergebnis liefert, aber das sagte ich ja bereits.

Ja, habe ich.... es wird ein Ergebnis geliefert.

Und irgendwie verstehe ich Dich nicht wirklich :(
Was soll ich Euch denn sonst präsentieren, wenn nicht den PHP-Syntax????
 
<'.'?xml version="1.0" encoding="utf-8"?'.'>
ist sicher nicht valide! Wenn deine Server <? schon als Start-Tag für PHP hält, reicht ein simples

echo '<?xml version="1.0" encoding="utf-8"?>';

Wenn nicht, kannst du auch einfach <?xml version="1.0" encoding="utf-8"?> außerhalb des PHP-Bereichs schreiben.
 
Zurück
Oben