problemen met het laden van rss feeds

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin Kastelein

Kevin Kastelein

13/01/2014 11:07:20
Quote Anchor link
Beste lezers,

ik ben vrij nieuw op gebied van PHP, ik probeer rss feeds weer te geven op mijn site.
so far so good,

[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 $url
= "http://news.google.com/?ned=us&topic=t&output=rss";
 $rss = simplexml_load_file($url);

 if($rss)
 {

 echo '<h1>'.$rss->channel->title.'</h1>';
 echo '<li>'.$rss->channel->pubDate.'</li>';
 $items = $rss->channel->item;
 foreach($items as $item)
 {

 $title = $item->title;
 $link = $item->link;
 $published_on = $item->pubDate;
 $description = $item->description;
 echo '<h3><a href="'.$link.'">'.$title.'</a></h3>';
 echo '<span>('.$published_on.')</span>';
 echo '<p>'.$description.'</p>';
 }
 }

 ?>
/quote]

nou dat was geen probleem.
Het probleem is echter dat ik er maar 1 bericht wil zien, dus probeerde ik:

Quote:
$maxitems = $rss->get_item_quantity(1);
$rss_items = $rss->get_items(0, $maxitems);


maar nu houd het script er mee op, dus er word niks meer weergegeven.. ook geen foutmeldingen..

heeft iemand een idee, waar ik nou de mist in ben gegaan?
ik hoop dat jullie mij een beetje op weg kunnen helpen.

met vriendelijke groet

Kevin
 
PHP hulp

PHP hulp

26/11/2024 22:35:31
 
Michael -

Michael -

13/01/2014 11:24:40
Quote Anchor link
Een foreach() is bedoeld om een array in zijn geheel uit te lezen. In dit geval leest die dus alle items uit.
Door simpel weg de foreach() weg te halen krijg je maar 1 resultaat zoals je aangeeft te willen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$url
= "http://news.google.com/?ned=us&topic=t&output=rss";
$rss = simplexml_load_file($url);

if($rss){
    echo '<h1>'.$rss->channel->title.'</h1>';
    echo '<li>'.$rss->channel->pubDate.'</li>';
    $item = $rss->channel->item;
    

    $title = $item->title;
    $link = $item->link;
    $published_on = $item->pubDate;
    $description = $item->description;
    echo '<h3><a href="'.$link.'">'.$title.'</a></h3>';
    echo '<span>('.$published_on.')</span>';
    echo '<p>'.$description.'</p>';
}

?>
 
Joakim Broden

Joakim Broden

13/01/2014 11:34:46
Quote Anchor link
Nog even over je HTML, die klopt van geen kant.

Je HTML word nu geoutput als:

<h1>Title<h1>
<li>Date</li>

<h3>Title</h3>
<span>Published</span>
<p>Description</p>

Wat moet die <li> daar? <li> is een onderdeel van een <ul>. Maar er word geen <ul>, aangemaakt, word die wel aangemaakt dan horen die <h1>, <h3>, <span>, <p> in de <li> want die elementen zijn geen onderdeel van de <ul> maar van de <li>.

@Michiel- weet je zeker dat $rss->channel->item; geen array terug geeft? Zo ja dan werkt $item->title niet aangezien hij een object verwacht?...
Gewijzigd op 13/01/2014 11:36:27 door Joakim Broden
 
Michael -

Michael -

13/01/2014 11:58:43
Quote Anchor link
Metal Hertog Jan op 13/01/2014 11:34:46:
@Michiel- weet je zeker dat $rss->channel->item; geen array terug geeft? Zo ja dan werkt $item->title niet aangezien hij een object verwacht?...

Nee is een object dus werkt gewoon zo.
 
Kevin Kastelein

Kevin Kastelein

13/01/2014 12:08:59
Quote Anchor link
Heren bedankt, deze oplossing werkt..

@metal hertog jan
nee, html staat inderdaad een beetje door de war, geen stress komt goed

BEDANKT!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.