Loading:


    Jak stworzyć kanał RSS z danymi z bazy danych

    Udostępnianie danych w formacie kanałów RSS jest obecnie bardzo popularne, postaram się pokazać jak łatwo stworzyć taki kanał.

    Listing 1.0 zawiera kod pliku moj_rss.php, generuje on konstrukcję pliku xml z danymi z bazy.
    Następnie ciąg $kanałRSS zostaje zapisany do pliku moj_rss.xml.

    Do pliku moj_rss.php należy ustawić crona np na 10 min, dzięki czemu plik moj_rss.xml będzie aktualizowany co 10 min.

    *cron - narzędzie do cyklicznego wywoływania skryptu.

    Aby ustawić crona na serwerze home.pl wystarczy nadac mu nazwe o takiej konstrukcji: cron-10min.php i umieścić go w głównym katalogu strony.

    Należy też stworzyć pusty plik moj_rss.xml i nadać mu prawa dostępu 777

    Wygenerowany przez nas plik XML będzie miał taką konstrukcje:

    <rss version="2.0">
      <channel>
        <title></title>
        <description></description>
        <link></link>

      </channel>
    </rss>



    Napisz Artyku³

    Listing

    // LISTING 1.0 Plik moj_rss.php
    <?php
    function lacz_bd()
    {  
      $db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');  
        if (! $db)
          return false;
       $db->autocommit(TRUE);
       return $db;
    }
    // tutaj podajemy dane co do danych xml
    $kanalRSS= '<?xml version="1.0" encoding="ISO-8859-2"?>';
    $kanalRSS .= '<rss version="2.0">';
    $kanalRSS .= '<channel>';
    $kanalRSS .= '<title>Mój kanał RSS</title>';
    $kanalRSS .= '<description>Tutaj będe udostępniał moje informacje w postaci kanału RSS</description>';
    $kanalRSS .= ' <link>http://funkcje.net</link>';
    // połaczenie z bazą
    $db = lacz_bd();
    //zapytanie określające jakie dane ma mieć kanał RSS
    // w naszym przypadku pobierzemy 5 najnowszych wpisów z tabeli news
    $zapytanie = "SELECT * FROM news ORDER BY data DESC LIMIT 5";
    $wynik = $db->query($zapytanie);
    $ile_znalezionych = $wynik->num_rows;
    for ($i=0; $i <$ile_znalezionych; $i++)
            {
            $wiersz = $wynik->fetch_assoc();
            $wpis_id = $wiersz['id'];
            //Generujemy typową konstrukcję XML z danymi z bazy danych
            $kanalRSS .= '<item>';
        $kanalRSS .= '<title>'.$wiersz['title'].'</title>';
        $kanalRSS .= '<link>http://funkcje.net/'.$wpis_id.'/index.html</link>';
        $kanalRSS .= '<description>'.$wiersz['introtext'].'</description>';
            $kanalRSS .= '</item>';
                    }
        $kanalRSS .= ' </channel>';
    $kanalRSS .= '</rss>';
    //Zapisujemy wygenerowany kod XML do pliku moj_rss.xml
    $fp = fopen('moj_rss.xml','w');
    fwrite($fp,$kanalRSS);
    fclose($fp);
    ?>




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors