Gå til innhold

RSS nyheter på min side


Anbefalte innlegg

Videoannonse
Annonse
Hei

 

Hvordan kan jeg ha sånn RSS greier på min side?

6362384[/snapback]

 

 

Kan du være så snill å fortelle hva du ønsker. Ønsker du rssnyheter fra andre sider på din side kan du bruke en rssleser. Det regner jeg med er noe som er skrevet i php så i såfall prøv der. Hvis du vil ha rssfeed for nyhetene du skriver på din side må du ha en rsspraser. Også dette må nok skrives i php.

 

Så mitt tips til deg er å enten spørre i phpforumet eller ta google til hjelp.

Lenke til kommentar

Okei, nå har jeg prøvd å få til et script her men det blir ikke helt bra.

 

Se selv:http://www.somlioy.net/rss-feed.php

 

Her er koden:

<?php

$host = "vsrv4.dcvhost.no:3306"; // MySQL hosten din
$user = "brukernavn"; // MySQL brukernavnet
$pass = "passord"; // MySQL passordet
$db = "eba_news"; // MySQL databasen du bruker
$prefix = "ebanews"; // Prefixen du brukte da du innstallerte EBA news
$urlToThePage = "http://somlioy.net"; //Nettadressen uten / på slutten.
$number ="5"; //Maks antall nyheter som skal vises

$connect = mysql_connect( $host, $user, $pass ) or die(mysql_error()); // Kobler til hosten
mysql_select_db ($db, $connect) or die(mysql_error()); // Velger databasen


$sql = mysql_query("SELECT id,title,ingress FROM " . $prefix . "_news LIMIT $number ") or die(mysql_error()); // Henter ut id og tittel


[B]while ($row = mysql_fetch_array($sql)) { // Starter while-løkka[/B]

// Setter noen variabler
$id = $row['id']; 
$title = $row['title'];
$ingress = $row['ingress']; 


[B]}[/B]


header("Content-type: text/xml");

echo "<?xml version='1.0'?> 
<rss version='2.0'>
<channel>
<title>Somlioy.net</title>
<link>http://www.somlioy.net</link>
<description>Webdesign, php, html og css</description>
<language>no</language>";


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

echo "<item>
<title>$title</title>
<link>$urlToThePage/index.php?id=$id</link>
<description>$ingress</description>
</item>";

}

echo "</channel></rss>";

?>

 

Jeg er litt usikker på om jeg skal ha med det som er uthevet ovenfor.

 

Hva annet er feil?

Lenke til kommentar

Prøv å bytte ut denne:

echo "<?xml version='1.0'?> 
<rss version='2.0'>
<channel>
<title>Somlioy.net</title>
<link>http://www.somlioy.net</link>
<description>Webdesign, php, html og css</description>
<language>no</language>";

Med denne:

echo '<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">
<channel>
<title>Somlioy.net</title>
<link>http://www.somlioy.net</link>
<description>Webdesign, php, html og css</description>
<language>no</language>';

 

Så passer du på å lagre PHP-filen som UTF-8 (notepad?)

For å (i teorien) få med æøå.

 

Men den gamle versjonen fungerer uansett (ikke æøå) i Opera's feedleser. Når jeg klikker på linken din blir jeg spurt om jeg vil begynne å abbonere på Somlioy.net

Endret av Kagee
Lenke til kommentar

<?php

$host = "vsrv4.dcvhost.no:3306"; // MySQL hosten din
$user = "brukernavn"; // MySQL brukernavnet
$pass = "passord"; // MySQL passordet
$db = "eba_news"; // MySQL databasen du bruker
$prefix = "ebanews"; // Prefixen du brukte da du innstallerte EBA news
$urlToThePage = "http://somlioy.net"; //Nettadressen uten / på slutten.
$number ="5"; //Maks antall nyheter som skal vises

$connect = mysql_connect( $host, $user, $pass ) or die(mysql_error()); // Kobler til hosten
mysql_select_db ($db, $connect) or die(mysql_error()); // Velger databasen


header("Content-type: text/xml");

echo '<?xml version="1.0" encoding="iso-8859-1"?> 
<rss version="2.0">
<channel>
<title>Somlioy.net</title>
<link>http://www.somlioy.net</link>
<description>Webdesign, php, html og css</description>
<language>no</language>';


$sql = mysql_query("SELECT id,title,ingress FROM " . $prefix . "_news LIMIT $number ") or die(mysql_error()); // Henter ut id og tittel






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

$id = $row['id']; 
$title = $row['title'];
$ingress = $row['ingress']; 


echo "<item>
<title>$title</title>
<link>$urlToThePage/index.php?id=$id</link>
<description>$ingress</description>
</item>";

}

echo "</channel></rss>";

?>

 

Vet ikke om det funker bedre, har ingen kjennskap til RSS... men den ser iallefall riktig ut i mitt hode.

Endret av bK_Coder
Lenke til kommentar

Fikk fiksa det selv. Jeg gjorde det slik:

<?php

$host = "vsrv4.dcvhost.no:3306"; // MySQL hosten din
$user = "brukernavn"; // MySQL brukernavnet
$pass = "passord"; // MySQL passordet
$db = "eba_news"; // MySQL databasen du bruker
$prefix = "ebanews"; // Prefixen du brukte da du innstallerte EBA news
$urlToThePage = "http://somlioy.net"; //Nettadressen uten / på slutten.
$number ="6"; //Maks antall nyheter som skal vises

$connect = mysql_connect( $host, $user, $pass ) or die("Kunne ikke koble til database: " . mysql_error()); // Kobler til hosten
mysql_select_db ($db, $connect) or die(mysql_error()); // Velger databasen

$sql = mysql_query("SELECT id,title,ingress FROM " . $prefix . "_news ORDER BY `date` DESC LIMIT $number ") or die(mysql_error()); // Henter ut id og tittel

header("Content-type: text/xml");

echo "<?xml version='1.0'?> 
<rss version='2.0'>
<channel>
<title>Somlioy.net</title>
<link>http://www.somlioy.net</link>
<description>Webdesign, php, html og css</description>
<language>no</language>";


while ($row = mysql_fetch_array($sql)) { 
// Setter noen variabler
$id = $row['id']; 
$title = $row['title'];
$ingress = $row['ingress']; 
$date = $row['date'];

echo "<item>
<title>$title</title>
<link>$urlToThePage/index.php?id=$id</link>
<description>$ingress</description>
</item>";

}

echo "</channel></rss>";

?>

Lenke til kommentar

Okei, flott...

 

Lagde forresten akkurat ett RSS-skript til online-spillet mitt :)

 

Takk for at du satte meg på ideen, nå har jeg lært noe nytt...

 

 

include('includes/news.inc.php');

define(NUMBER_NEWS, 10);


rss2_feed();


function rss2_feed()
{
header('Content-type: text/xml');
echo 
'<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
 <title>Rise of Kingdoms</title>
 <link>http://localhost/rok</link>
 <description>News for Rise of Kingdoms - a free online game</description>
 <language>en-us</language>';

$news = get_news(NUMBER_NEWS);

foreach($news as $article)
{
 echo 
 '<item>
 	<title>'.$article['title'].'</title>
 	<link>http://localhost/rok/</link>
 	<description>'.$article['body'].'</description>
 	<pubDate>'.date('D, d M Y H:i:s T', $article['time']).'</pubDate>
 </item>';
}
echo '
</channel>
</rss>';
}

 

//include the required files
include_once('includes/framework/db_functions.inc.php');

function get_news($amount, $start = 0)
{
$result = db_query('SELECT * FROM news ORDER by time DESC LIMIT '.$start.', '.$amount); //gets the $amount latest news, ordered by time.
$news = array(); //setup new array
while($article = mysql_fetch_array($result))
{
 array_push($news, $article);
}

return $news;	
}

 

 

 

Funker som ett udyr, takler til og med æ, ø og å (ikke at jeg kommer til å bruke det :p)

 

Edit: foreach er en fin ting jeg hadde glemt :)

Endret av bK_Coder
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...