[PHP][XML] Własny kanał RSS

Własny kanał RSS - by Piotr Nalepa
PHP XML Opublikowano: 30/03/2010

O autorze

Jestem webmasterem/webdeveloperem
z pasji. Lubię to co robię i chcę dzielić się wiedzą z innymi osobami.
Specjalizuję się w technologiach związanymi z CSS, JS, PHP.

Własny kanał RSS - by Piotr NalepaW dzisiejszym artykule poruszę kwestię tworzenia własnego kanału RSS na stronę WWW. Artykuł ten powstaje na prośbę jednego z czytelników mojego bloga.
Jak wiadomo, kanały RSS służą do szybkiej prezentacji wiadomości ze strony w formie skrótów, które można potem odczytać w różnego rodzaju czytnikach RSS.

Na początek zdefiniujemy przykładową bazę danych z której będziemy pobierać dane dotyczące wpisów w kanale RSS. Nasza baza wygląda następująco:

Wzór bazy danych

Kolejnym krokiem jest zbudowanie połączenia między bazą danych a naszym kodem napisanym w PHP.
Taki skrypt przyjmuje taki zapis:

< ?php
//plik db.php
	$user 	= "nazwa_uzytkownika";
	$pass 	= "haslo_do_bazy";
	$db		= "serwer_bazy_danych";
	$dbname    = "rss"; //nazwa bazy danych
 
	$polaczenie  = mysql_connect($db, $user, $pass) or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
	$baza 	 = mysql_select_db($dbname, $polaczenie);
 
?>

Teraz, stworzymy plik o nazwie index.php w którym będzie zawarty kod generujący kanał RSS (nazwa pliku nie ma tutaj znaczenia). Wygląda on następująco:

< ?php
	header('Content-Type: application/xml; charset=utf-8');
	include('db.php');
?>
<xml version="1.0" encoding="utf-8">
	<rss version="2.0">
		<channel>
			<title>Blog webmasterski | Piotr Nalepa</title>
			<link>http://blog.piotrnalepa.pl</link>
			<description>MĂłj blog webmasterski</description>
		</channel>
		< ?php
			$zapytanie 	= 'SELECT * FROM wpisy ORDER BY data_dodania DESC LIMIT 5';
			mysql_query('SET character_set_connection=utf8');
			mysql_query('SET character_set_client=utf8');
			mysql_query('SET character_set_results=utf8');
			$wynik 		= mysql_query($zapytanie) or die(mysql_error());
 
			while($row = mysql_fetch_array($wynik))
			{
				echo '	<item>
						<title>'.$row["tytul"].'</title>
						<link>'.$row["link"].'</link>
						<description>'.$row["opis"].'</description>
						';
			}
		?>
	</rss>
</xml>

Znacznik i znaczniki wewnątrz niego definiują nazwę kanału.
Jak widać w powyższym kodzie po zapisaniu nazwy kanału następuje stworzenie zapytania generującego dane do kanału RSS, dzięki któremu wywołamy 5 ostatnich wpisów ze strony na kanał RSS.
Zaraz potem następuje pętla „while” która zapisuje dane z bazy do języka XML, w którym każdy nowy wpis jest definiowany za pomocą znacznika .
Ponadto przed wykonaniem zapytania SQL ustawiłem wymuszenie kodowania transmisji danych na UTF-8.

Jak widać, kod generujący dane do kanału RSS nie jest rozbudowany i to dzięki niemu możemy stworzyć pierwszy prosty kanał RSS naszej strony.

10 komentarze/y

Napisz komentarz

Komentarze są moderowane. Po akceptacji przez administratora zostaną wyświetlone na stronie.

  • Imię:
  • Email:
  • Strona www:
  • Treść komentarza:

Page optimized by WP Minify WordPress Plugin