WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   RSS och PHP (https://www.wn.se/forum/showthread.php?t=1042287)

robincox 2010-05-30 14:58

RSS och PHP
 
Jag har precis lärt mig hur man skapar ett xml dokument så att en rss läsare kan prenumenera på en blogg. Enligt w3schools.com så måste man spara filen med .xml

Jag undrar nu, om jag skapar denna xml fil med hjälp av php, hämtar alltså informationen som ska in i <channel>, <link> mm. från en databas och sparar denna fil som t.ex. rsschannel.php, kommer då en rss läsare att kunna läsa den?

Jimpsson 2010-05-30 15:14

Du bör även sätta en header.
Kod:

header("Content-Type: application/xml; charset=utf-8");
Du kan även göra en rewrite så att adressen slutar med .xml istället för .php.

robincox 2010-05-30 21:41

php till xml
 
Det jag tänkte göra är ungefär något sånt här:

<?php

echo '<?xml version="1.0" encoding="utf-8" ?>';
echo '<rss version="2.0">';

echo '<channel>';
echo '<title>En fin rsskanal</title>';
echo '<link>http://minrss.se/minrss.php</link>';
echo '<description>Här delar jag med mig av min fina blogg</description>';

$query = ("SELECT * FROM mindatabas ORDER BY id DESC");
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) {

echo '<item>';
echo '<title>' . $row['itemTitle'] . '</title>';
echo '<link>' . $row['itemLink'] . '</link>';
echo '<description>' . $row['itemDesc'] . '</description>';
echo '</item>';

}

echo '</channel>';

echo '</rss>';

?>

Detta kommer ju att resultera i ett korrekt xml dokument men att det heter t.ex. myrss.php. Kommer då en rssläsare att godta detta?

youheardit 2010-05-30 21:46

kommer funka om du sätter header som Jimpsson skrev!

robincox 2010-05-30 22:06

Lösning?
 
Citat:

Ursprungligen postat av youheardit (Inlägg 20357399)
kommer funka om du sätter header som Jimpsson skrev!

Så det här kommer att funka?

<?php

header("Content-Type: application/xml; charset=utf-8");

echo '<?xml version="1.0" encoding="utf-8" ?>';
echo '<rss version="2.0">';

echo '<channel>';
echo '<title>En fin rsskanal</title>';
echo '<link>http://minrss.se/minrss.php</link>';
echo '<description>Här delar jag med mig av min fina blogg</description>';

$query = ("SELECT * FROM mindatabas ORDER BY id DESC");
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)) {

echo '<item>';
echo '<title>' . $row['itemTitle'] . '</title>';
echo '<link>' . $row['itemLink'] . '</link>';
echo '<description>' . $row['itemDesc'] . '</description>';
echo '</item>';

}

echo '</channel>';

echo '</rss>';

?>

youheardit 2010-05-31 08:57

yes! jag driver rss läsare och har många php och asp filer som jag hämtar data från!

robincox 2010-05-31 09:17

Tusen tack till er båda
 
Tusen tack till er båda!


Alla tider är GMT +2. Klockan är nu 15:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson