Seite 1 von 1

News in RSS-Feed ausgeben

Verfasst: Di 27.Sep, 2005 11:39
von bce
hallo.
hab da ein newssytem am laufen. möchte nun das die news auch per rss-feed verfügbar sind.
nach anfänglichen schwierigkeiten bin ich nun soweit dahinter gestiegen.
nur ein kleines problem gibt es noch: wenn ich die daten aus der mysql-datenbank auslese und in das rss einbinden möchte scheint es probleme zu geben.

meine rss.php datei schaut folgender masen aus:

Code: Alles auswählen

<?
$rdf = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>

<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns=\"http://my.netscape.com/rdf/simple/0.9/\">

<channel>
    <title>titel News</title>
    <link>www.xyz.de</link>
    <description>allgemeine überschrift</description>
</channel>
";

//variablen werden ordnetlich übergeben, nur hier für geändert!!
$db = @mysql_connect($sql_server,$sql_user,$sql_passwort);
if (!$db) {
    die('keine Verbindung möglich: ' . mysql_error());
}
echo 'Verbindung erfolgreich <br>';

$db_selected = mysql_select_db('news', $db);
if (!$db_selected) {
    die ('Kann foo nicht benutzen : ' . mysql_error());
}

//sql-befehl - zeigt nur aktive beiträge an, geordnet nach datum, 10 beiträge
$sql = "SELECT * FROM newstab where status=1 order by datum desc limit 10";
$result = mysql_query($sql);
if (!$result) {
    die('Ungültige Abfrage: ' . mysql_error());
}

//werte ausgeben
while ($row = mysql_fetch_assoc($result)) {
    //echo "$row[autor] $row[titel] $row[datum] <br>";
$rdf .= "
<item>
    <title>" . $row[titel] . " titel</title>
    //<link>" . $row[autor] . "url</link>

    <pubDate>" . date('r') . "</pubDate>";

//if($chars != 0 && strlen($message)>0) $rdf .= "

$rdf.="    <description>" . htmlspecialchars($row[text]) . "beschreibung</description>


</item>
";
}



mysql_close($db);

// Create RDF footer
$rdf .= "
</rdf:RDF>";

// Output the RDF
echo $rdf; 

?>
die datenbankgeschichte und sql-befehl funktioniert!

irgendwas innerhalb der while-schleife passt wahrscheinlich nicht... weil wen ich das weglasse funzts. ich weiß aber nicht was.. bitte um mithilfe.. danke

Verfasst: Di 27.Sep, 2005 11:48
von oxpus
while ($row = mysql_fetch_assoc($result)) {
müsste ja auch
while ($row = mysql_fetch_array($result)) {
heissen...

Verfasst: Di 27.Sep, 2005 11:56
von bce
zeile 18: echo 'Verbindung erfolgreich <br>';
da darf kein echo stehen und es funktioniert!! glaubs nicht...

da in der datenbank html-code mitgespeichert wird, schaut das bei der ausgabe nicht schön aus...
gibt es einen befehl, mit den man html-tags aus einem string entfernen kann?

Verfasst: Mi 28.Sep, 2005 19:10
von bce
mit

Code: Alles auswählen

strip_tags
kann man schnell html code entfernen!

neues problem beim rss-feed erstellen.. wenn ich einen link eines beitrages anlegen möchte kommt ne fehlermeldung...

die zusammenstellung des links macht probleme: http://www.xyz.de/index.php?action=ganz ... 6&newskat=
so sehen aber die link in meinen news aus... was nun?

Verfasst: Fr 30.Sep, 2005 14:55
von bce
problem mit den link durch eine list behoben...

der link wie im vorherigen post ist in xml nicht zulässig... aber folgender schon: : http://www.xyz.de/index.php?id=166

in dieser index wird der parameter id ausgewertet und entsprechend ausgegeben.... funktioniert nun