Avatar billede tupsy Nybegynder
21. december 2007 - 08:02 Der er 7 kommentarer og
1 løsning

Rss feed er ikke helt ok.

Jeg har lavet følgende rss feed:
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="iso-8859-1" ?>' . "\r\n";
?>
<rss version="2.0">
<channel>
    <description>DanTeam RSS feed</description>
    <link>http://www.danteam.nu/</link>
    <title>DanTeam Nyheder</title>
<?
require("connect.php");
$nyhedquery = mysql_query ("SELECT * FROM nyhed order by id DESC limit 0,10");
if (mysql_num_rows($nyhedquery) > 0)
                {
while ($nyheddata = mysql_fetch_array($nyhedquery))
                    {
?>
      <item>
            <title><?echo $nyheddata['overskrift'];?></title>
            <link>http://danteam.nu/index.php?nyhedsid=<?echo $nyheddata['id'];?></link>
            <guid>http://danteam.nu/index.php?nyhedsid=100</guid>
            <description><?echo $nyheddata['tekst'];?></description>
        </item>
<?
}
}
?>
</channel>
</rss>

Den vises på siden: http://danteam.nu/feed.php

Der ser umiddelbart ud til at virke.
Den henter de seneste nyheder ud fint nok.
Men....
Når man så vil abbonere på nyheden i feks IE 7.0 så vises kun den første nyhed..
Og gør jeg det på min mobil rss reader (SE P990I) så vises næsten intet af teksten.

Hvad gør jeg galt?
Avatar billede pidgeot Nybegynder
21. december 2007 - 09:37 #1
Du bruger samme <guid> til alle nyheder. Det må du ikke; <guid> skal repræsentere itemet unikt - kan du ikke give den en unik værdi skal du udelade den helt.

Mht. din mobile reader kan jeg ikke sige hvad der sker (med mindre det er "by design"), men tag evt. et kig på http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fdanteam.nu%2Ffeed.php og se om der vises en fejl i nærheden af der hvor den hakker af.
Avatar billede tupsy Nybegynder
21. december 2007 - 09:40 #2
Hvad mener du med: <guid> skal repræsentere itemet unikt

Skal det have et genereret id eller hvorledes?
Avatar billede pidgeot Nybegynder
21. december 2007 - 09:43 #3
Jeg mener at det ikke duer at du som nu skriver <guid>http://danteam.nu/index.php?nyhedsid=100</guid> ved alle punkter. Enten skal du fjerne det element helt, eller også skal du bruge en værdi der er unik for netop den nyhed, men ikke ændrer sig (og du bruger jo allerede et ID til <link>, så hvis du vil have <guid> med kan du jo bare bruge ID'et igen der).
Avatar billede tupsy Nybegynder
21. december 2007 - 11:00 #4
Haaaaaar.. Det kan jeg da godt se...
Måske jeg skulle have briller. Der et et lævn fra test fasen...

FLOVT!!!!
Avatar billede tupsy Nybegynder
21. december 2007 - 11:01 #5
Se, DET hjalp jo på det med at den kun viser en. Så må jeg lige arbejde lidt med det andet...
Avatar billede pidgeot Nybegynder
21. december 2007 - 11:02 #6
Det tolker jeg som en opfordring til at smide et svar. :)
Avatar billede tupsy Nybegynder
21. december 2007 - 12:48 #7
Godt tolket. ;-)

God jul...
Avatar billede tupsy Nybegynder
21. december 2007 - 12:49 #8
Og det færdige resultat kom forresten til at se sådan ud:
<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="iso-8859-1" ?>' . "\r\n";
?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://danteam.nu/feed.php" rel="self" type="application/rss+xml" />
    <description>DanTeam RSS feed</description>
    <link>http://www.danteam.nu/</link>
    <title>DanTeam Nyheder</title>
  <image>
<url>http://www.danteam.nu/rss_logo.gif</url>
<link>http://www.danteam.nu/</link>
    <title>DanTeam Nyheder</title>
</image>
<?
require("connect.php");
$nyhedquery = mysql_query ("SELECT * FROM nyhed order by id DESC limit 0,10");
if (mysql_num_rows($nyhedquery) > 0)
                {
while ($nyheddata = mysql_fetch_array($nyhedquery))
                    {
$nyheddata['tekst'] = str_replace("<br />", "", $nyheddata['tekst']);
$nyheddata['tekst'] = str_replace("<b />", "", $nyheddata['tekst']);
$nyheddata['tekst'] = str_replace("</b />", "", $nyheddata['tekst']);
?>
      <item>
            <title><?echo $nyheddata['overskrift'];?></title>
            <link>http://danteam.nu/index.php?nyhedsid=<?echo $nyheddata['id'];?></link>
            <guid>http://danteam.nu/index.php?nyhedsid=<?echo $nyheddata['id'];?></guid>
            <description><?echo $nyheddata['tekst'];?></description>
        </item>
<?
}
}
?>
</channel>
</rss>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester