News in RSS-Feed ausgeben

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

News in RSS-Feed ausgeben

Beitrag 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
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

while ($row = mysql_fetch_assoc($result)) {
müsste ja auch
while ($row = mysql_fetch_array($result)) {
heissen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag 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?
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag 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?
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag 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
Antworten