Ich habe mir mit Hilfe von Tutorials ein PHP Script erstellt. Nur habe ich einige Probleme mit der Ausgabe von bestimmten Datenbankfelder mit der korrekten Reihenfolge.
Der RSS Feed soll die letzten Einträge der 7 Tage mit der höchsten ID (kArtikel) abwärts lesen und diese dann ausgeben.
Bei der Ausgabe muss ich 2 Tabellen ansprechen "tartikel" und "tartikelpic". In der Tabelle "tartikelpic" sind die jeweiligen Bilder je Artikel gespeichert.
Damit ich aber nur 1 Bild anzeigen möchte muss ich aus der Tabelle "tartikelpic" die Spalte "nNr" ansprechen und die niedrigste Zahl nehmen.
Von der niedrigsten Zahl soll der "cPfad" angesprochen werden und diese dann auch darstellen.
Meine Datenbanken
Code:
tartikelpict +--------------+-----------------+-------+ | kartikelpict | cPfad | nNr | +--------------+-----------------+-------+ | 560 | 560picture4.jpg | 4 | | 560 | 560picture3.jpg | 3 | | 560 | 560picture2.jpg | 2 | | 560 | 560picture.jpg | 1 | +--------------+-----------------+-------+ | 561 | 561picture4.jpg | 4 | | 561 | 561picture3.jpg | 3 | | 561 | 561picture2.jpg | 2 | | 561 | 561picture.jpg | 1 | +--------------+-----------------+-------+ tartikel +----------+-------+---------------------+------------+-------+ | kArtikel | cName | cKurzBeschreibung | dErstellt | cSeo | +----------+-------+---------------------+------------+-------+ | 560 | 12345 | Short Description | 2014-03-25 | 12345 | +----------+-------+---------------------+------------+-------+ | 561 | ABCDE | Short Description | 2014-03-25 | abcde | +----------+-------+---------------------+------------+-------+
PHP-Code:
<?php
# Header
$ausgabe1 ="<?xml version='1.0' encoding='ISO-8859-1'?>
<rss version='2.0'>
<channel>
<title>RSS</title>
# Verbinduungseinstellungen
$db = mysql_connect ("localhost", "", "");
$datenbank = "";
# Datum der Erstellung (Heute..)
$date = date(r);
# Datensatz-Ausgabe festlegen
$sql = "SELECT
p1.kArtikel,
p1.cName,
p1.cKurzBeschreibung,
p1.dLetzteAktualisierung,
p1.dErstellt,
p1.cSeo,
p2.kartikelpict,
p2.nNr,
p2.cPfad
FROM tartikel AS p1
JOIN tartikelpict AS p2
ON (p1.kArtikel = p2.kartikelpict)
JOIN (SELECT kartikelpict, MIN(nNr) min_nNr FROM tartikelpict GROUP BY kartikelpict) p3
ON (p2.kartikelpict = p3.kartikelpict AND p2.nNr = p3.min_nNr)
ORDER BY p1.kArtikel
DESC LIMIT 10";
# Sämtliche Datensatz-Ausgabe durchführen
$resultat = mysql_db_query($datenbank, $sql);
while ($row = mysql_fetch_array($resultat)) {
extract($row);
$x=0;
$x++;
$text1 = str_replace( "href=\"/", "href=\"http://www.domain.de/", $text );
$ausgabetext = str_replace( "src=\"/", "src=\"http://www.domain.de/", $text1 );
$ausgabe2[$x] .= "
<item>
<title>$cName</title>
<link>http://electronics.semaf.at/$cSeo</link>
<description><![CDATA[ <img src='http://www.domain.at/bilder/produkte/normal/$nNr' height='144' width='144' /> $cKurzBeschreibung ]]> </description>
<guid isPermaLink='false'>http://www.domain.at/$cSeo</guid>
<pubDate>$dErstellt</pubDate>
<enclosure url='http://www.domain.at/bilder/produkte/normal/$cPfad' type='image/jpeg' />
</item>";
}
mysql_close($db);
$ausgabe3 = "</channel></rss>";
# XML Datei erstellen (CHMOD muss natürlich dementsprechend angepasst sein..)
# ---------------------------------------------------------------------------
$Datei = "rss.xml"; // Dateiname
$Text .= "$ausgabe1 $ausgabe2[$x] $ausgabe3";
$FilePointer = fopen($Datei, "w");
fwrite($FilePointer, $Text);
fclose($FilePointer);
?>
Die Ausgabe
Code:
<item> <title>Title 1</title> <link>http://www.domain.de/title1</link> <guid isPermaLink="false">http://www.domain.de/title1</guid> <pubDate>Thu, 12 Jun 2014 00:00:00 +0200</pubDate> <description><![CDATA[ <img src="http://www.domain.de/bilder/produkte/normal/560picture4.jpg" height="144" width="144" />Short Description</p> ]]></description> <enclosure url="http://www.domain.de/bilder/produkte/normal/560picture4.jpg" type="image/jpeg" /> </item> <item> <title>Title 2</title> <link>http://www.domain.de/title1</link> <guid isPermaLink="false">http://www.domain.de/title1</guid> <pubDate>Thu, 12 Jun 2014 00:00:00 +0200</pubDate> <description><![CDATA[ <img src="http://www.domain.de/bilder/produkte/normal/560picture3.jpg" height="144" width="144" />Short Description</p> ]]></description> <enclosure url="http://www.domain.de/bilder/produkte/normal/560picture3.jpg" type="image/jpeg" /> </item> <item> <title>Title 3</title> <link>http://www.domain.de/title1</link> <guid isPermaLink="false">http://www.domain.de/title1</guid> <pubDate>Thu, 12 Jun 2014 00:00:00 +0200</pubDate> <description><![CDATA[ <img src="http://www.domain.de/bilder/produkte/normal/560picture2.jpg" height="144" width="144" />Short Description</p> ]]></description> <enclosure url="http://www.domain.de/bilder/produkte/normal/560picture3.jpg" type="image/jpeg" /> </item>
Würde mich über unterstützung sehr freuen. Danke
Einen Kommentar schreiben: