Tutorials Infos - Anleitungen - Hilfe - Dreamcodes
 

RSS-Feeds

RSS-Feeds werden immer aktueller.
Im Folgenden wird eine Funktion gezeigt, mit der man sehr einfach RSS-Feeds für die eigene Website erzeugen kann.

Die folgende Funktion erzeugt aus einer Datenbank dynamisch ein RSS-Feed mit der Endung .xml.

Script:
function mkRSS () {
////KONFIGURATION (diese Variablen müssen angepasst werden):
   $dbServer = "localhost";  //database server (meist localhost)
   $dbName = "myDB";         //name of database
   $dbUser = "me";           // user name
   $dbPassword="myPassword"; // user password
   $tableName="myTable";     // Tabellenname der Tab.
   $lines="10";              // Anzahl anzuzeigender Datensätze
   $filename="myFile";       //ohne Extension
   $title="z.B. Name der Website myDomain.de";     //Titel des RSS-Feeds
   $description="Die ".$lines." besten Links";     //Was zeigt das RSS-Feed?
   $language="de";           //Sprachkürzel
   $link="http://www.mydomain.de/links.html"; //Link
   $itemTitle="..."; //Spaltenname aus der DB, wo der Titel des einzelnen Items steht
   $itemText="...";  //Spaltenname aus der DB, wo der Text des einzelnen Items steht

   //das SQL-Statement muss an die eigenen Erfordernisse angepasst werden
$sql="SELECT * FROM ".$tableName." Where ... ORDER BY ... DESC/ASC LIMIT 0,$lines";

//Zeile 45 noch die Variable $itemLink angepasst werden muss.
////ENDE KONFIGURATION

//DOCUMENT_ROOT wird automatisch ermittelt
   $siteRoot= substr_replace ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"],
              "",strrpos ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"], "/")+1);

//Erzeugen des RSS-Inhaltes:
   $rssHeader="<?xml version="1.0" encoding="ISO-8859-1"?>
              <rss version="0.91">
              <channel>
              <title>".$title."</title>
              <description>".$description."</description>
              <language>".$language."</language>
              <link>$link</link>
              ";
   $rssFooter="</channel>
              </rss>";
   $dbLink = mysql_connect ($dbServer,$dbUser,$dbPassword) or die (mysql_error());
   $setdb = mysql_select_db($dbName,$dbLink) or die (mysql_error());
   $result=mysql_query($sql,$dbLink) or die(mysql_error());
   $content=$rssHeader;
   while($row=mysql_fetch_array($result)){
      $titel=substr ($row[$itemTitle], 0, 150);  //$row anpassen! auch in der nächsten Zeile
      $text=substr ($row[$itemText], 0, 500); //der Text darf höchstens 500 Zeichen
      $itemLink="...";   //dies ist ein Link, der DIREKT diesen Punkt auf der Homepage 
                         //Er muss entsprechend deines Scripts dynamisch gebildet werden.
      $content.="<item>
                <title>".$titel."</title>
                <description>".$text."</description>
                <link>".$itemLink."</link>
                </item>
                ";
   }
   $content.=$rssFooter;

   //file wird geschrieben
   $fh=fopen ($siteRoot.$filename.".rss", "w");
   fputs ( $fh, $content);
   fclose($fh);

   //file wird umbenannt
   rename ($siteRoot.$filename.".rss", $siteRoot.$filename.".xml");
   return;
}

 
ID: 551
eingestellt am: 11.11.2004
Autor: dewi
Status zum lesen: Gast
gelesen: 8846
Webseite: www.dreamcodes.com
[Drucken]