kostenloser Webspace werbefrei: lima-city


RSS Feeds aus Datenbankeinträgen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo! :wave:

    Ich möchte, wie der Threadttitel schon sagt, RSS Feeds aus bestimmten tag/date">Datenbankeinträgen definieren. Ich habe mir überlegt, für

    <title> </title>
    und
    <description> </description>
    Variablen zu definieren Und zwar insofern, dass die Variablen mit der entsprechenden MYSQL Abfrage in der Datenbank verbunden sind. Könnt ihr mir sagen, ob der Ansatz richtig ist bzw. mir dabei helfen?


    Danke schonmal im Vorraus. :wink:



    Gruß,
    Webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. wenn ich es richtig verstanden habe, dann ist der Ansatz richtig.
    die Variabeln musst du nur noch "füttern":

    <?php
    $SQL = "SELECT * FROM feed";
    $query = mysql_query($SQL);
    if(!$query)
    {
      exit;
    }
    while($row = mysql_fetch_object($query))
    {
      echo "<title>$row->title</title>
    
      <description>$row->desc</description>";
    }
    ?>


    Beitrag zuletzt geändert: 4.10.2010 17:42:30 von ichbinlooper
  4. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo ichbinlooper! :wave:

    Die Datensätze werden ja sicher automatisch chronologisch geordnet, dann brauche ich ja kein ORDER BY - oder?


    Ich habe für den <title> Tag vor, die Spalte namens NEWS aus meiner Tabelle auszulesen und beim <description> Tag möchte ich die Spalte KOMMENTAR auslesen. In Deinem Beispiel steht nur von einem einmailigen Auslesen etwas. Daher noch eine Frage zum Abruf der Datensätze mit SELECT aus der Datenbank:


    Wie frage ich den zwei "verschiedene" Spalten gleichzeitg ab, die dann auch noch richtig zugeordnet werden (also der richtige Kommentar zu den News)?


    Gruß,
    Webdesignerin :angel:

  5. Wie frage ich den zwei "verschiedene" Spalten gleichzeitg ab, die dann auch noch richtig zugeordnet werden (also der richtige Kommentar zu den News)?


    In dem Beispiel von ichbinlooper werden bereits zwei Spalten abgefragt: zum einen die Spalte "title" ($row->title) und die Spalte "desc" ($row->desc").
    Es wird hierbei immer Zeilenweise vorgegangen, so dass immer der richtige Kommentar zu den richtigen News angezeigt wird.

    <?php
    $SQL = "SELECT * FROM feed";
    $query = mysql_query($SQL);
    if(!$query)
    {
      exit;
    }
    while($row = mysql_fetch_object($query))
    {
      echo "<title>$row->title</title>
    
      <description>$row->desc</description>";
    }
    ?>


    Was du vielleicht meinst sind mehrere Zeilen?! Dafür sorgt die while-Schleife. Diese ließt solange die Datensätze aus den Spalten "title" und "desc" aus bis alle durch sind:
    Angenommen du hast folgende Datenbank:
    
    id       news          kommentar                                    time
    
    1        Hallo           Das ist der Kommentar                     09:25
    2        Test            Das ist ein Test                          08:36
    ...


    Und folgende Abfrage:
    <?php
    $SQL = "SELECT * FROM feed ORDER BY time";
    $query = mysql_query($SQL);
    if(!$query)
    {
      exit;
    }
    while($row = mysql_fetch_object($query))
    {
      echo "<title>$row->news</title><br />
    
      <description>$row->kommentar</description><br />";
    }
    ?>


    Dann bekommst du diese Ausgabe:
    <title>Test</title>
    <descripton>Das ist ein Test</description>
    <title>Hallo</title>
    <descripton>Das ist ein Kommentar</description>

    Wenn du nun 100 Datensätze hast werden dir durch die While-Schleife alle 100 angezeigt. (sortiert nach der Zeit).




    Beitrag zuletzt geändert: 5.10.2010 12:41:55 von alfr3d
  6. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo alfr3d! :wave:

    Ja richtig, ich hatte das mit der while-Schleife gemeint. Danke für den Code! :wink:


    @all: Mein Code sieht jetzt folgendermaßen aus (ich habe mich an Toobs Blog orientiert):


    <?php
    header("Content-Type: application/rss+xml; charset=ISO-8859-");
    echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>";
    ?>
      <rss version="2.0">
        <channel>
          <title>RSS Feed</title>
          <link>http://www.meine-domain.de</link>
          <description>Datenbank-Einträge als RSS-Feed</description>
          <language>de-de</language>
          <copyright>Copyright 2010 Domaininhaber</copyright>
    <?php
     mysql_connect("HOST", "USER","PASSWORT") or die
     ("Keine Verbindung moeglich");
      mysql_select_db("DATENBANK") or die
        ("Die Datenbank existiert nicht.");
    $SQL = "SELECT * FROM Tabellen_Name ORDER BY Zeit DESC LIMIT 10
    // 10 = Anzahl der angezeigten Feeds, die nach Zeit/Datum in absteigender Reihenfolge geordnet sind
    $rResultset = mysql_query($SQL);
    while ($aResult = mysql_fetch_array($rResultset)){
    ?>
    
            <item>
            <title><?=$aResult['Spaltenname_fuer_den_Titel']?></title>
            <link>http://www.meine-domain.de/news.php?<?=$aResult['ID']?></link>
            <guid>http://www.meine-domain.de/news.php?-<?=$aResult['ID']?></guid>
            <description><![CDATA[ <?=nl2br(stripslashes(htmlentities($aResult['Spaltenname_fuer_die_Beschreibung'])))?> ]]></description>
            <pubDate><?=date("D, d M Y H:i:s O", strtotime($aResult['Zeit']))?></pubDate>
    //obiges Beispiel für den TIMESTAMP, ansonsten <?=date("D, d M Y H:i:s O", $aResult['DateTime'])?>
            </item>
    <?php
          }
    ?>
        </channel>
      </rss>



    Edit: Problem gelöst und Skript gefixt. :wink:


    Gruß,
    Webdesignerin :angel:


    Beitrag zuletzt geändert: 5.10.2010 19:21:34 von webdesignerin
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!