Hoi,
Mijn feed die ik wil maken werkt niet. Ik wil een feed maken waarbij een PHP bestand nieuwe vacatures ophaalt uit de databse. Kan iemand mij helpen ? De velden die ik wil meenemen staan bij SELECT.....FROM.

Dit is het PHP-bestand:

<?php
header 'content-Type: application/xml; charset=UTF-8'; //Het is een XML-bestand

echo '<rss version=\"2.0\">\n';
echo '<channel>\n';
echo '<title>Marks Pagina</title>\n ';
echo '<link>http://www.vacature-werkt.nl/Vacature-zoeken-feed.xml</link>\n ';
echo '<description>De RSS-feed van Marks Pagina.</description>\n ';
echo '<language>nl</language>\n';

// Verbinding maken
$conn = mysql_connect('******','*****','****');
if(!$conn) {
echo 'Error: cannot make connexion. Please contact ##.<br />';
} else {
echo 'There is an connexion with the database.<br />';
}

// Database selecteren
$db = mysql_select_db('*****');
if(!$db) {
echo 'Error: cannot make connexion. Please contact Search Jobs Abroad.<br />';
} else {
echo 'Database selected.<br />';
}

$qry = "SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY datum DESC LIMIT 10";

while($rss_feed = mysql_fetch_assoc($sql))
{
$id = $rss_feed['id'];
$naamvacature = $rss_feed['naamvacature'];
$datum = $rss_feed['datum'];
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving); //Alle html tekens omzetten in leesbare tekens

echo '<item>\n';
echo '<title>'.$naamvacature.'</title>\n';
echo '<pubdate>'.$datum.'</pubdate>';
echo '<link>http://www.jesite.nl/link/naar/het/artikel/'.id.'</link>\n';;
echo '<description>'.$vacaturebeschrijving.'...</description>\n';
echo '</item>\n';
echo '</channel>\n';
echo '</rss>';
?>


En dit is het XML-bestand:
<?xml version="1.0"?>
<rss version="2.0">
<channel>

<item>
<title>De titel van het item - 1</title>
<link>http://www.jesite.nl/link/naar/het/artikel/</link>;
<pubdate>Wed, 24 Feb 2010 19:05:58 +0000</pubdate>
<creator>Auteur</creator>
<description>Het hele artikel, een gedeelte of een samenvatting ervan.</description>
</item>

<item>
<title>De titel van het item - 2</title>
<link>http://www.jesite.nl/link/naar/het/artikel/</link>;
<pubdate>Wed, 24 Feb 2010 19:05:58 +0000</pubdate>
<creator>Auteur</creator>
<description>Het hele artikel, een gedeelte of een samenvatting ervan.</description>
</item>

</channel>
</rss>
Er bestaan geen klikbare links in XML. XML is een text-only document. Deze zijn niet bepaald bedoeld om als plain-text aan de gebruiker te tonen.

De XML-feed zoals het document heet behoort door een client (tof programma, of script) te worden uitgelezen, waarna die opmaak zelf eraan kan toevoegen.
Gokje: Je query is mislukt?

Foutafhandeling.............
bedankt voor de tips maar ik gebruik nu het volgende script: http://www.phphulp.nl/php/script/php-algemeen/simpel-rss-feed-script/238/

Het voorbeeld op mijn site staat op:
http://www.vacature-werkt.nl/Vacature-zoeken-feed1.php


WERKT NIET !!

In FF geeft hij als foutmelding:

ML-parsefout: troep na documentelement
Locatie: http://www.vacature-werkt.nl/Vacature-zoeken-feed2.php
Regelnummer 12, kolom 1:<rss version="2.0">
^

Dit is het script::

<?
// plaats de header
header("Content-Type: application/xml; charset=UTF-8");

// laad de database connectie
require("connecten.php");

// laad de 5 laatst toegevoegde artikelen uit de database
$sql = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY id DESC LIMIT 5");

// plaats rss informatie
echo("<rss version=\"2.0\">\n");
echo("<channel>\n");
echo("<title>Titel van je pagina</title>\n");
echo("<link>link naar je website</link>\n");
echo("<description>korte omschrijving van je website</description>\n");
echo("<language>taalinstelling</language>\n");

// laad de artikelen uit de database
while($rss_feed = mysql_fetch_assoc($sql))
{
// filter de extra slashes
$artikel = stripslashes($rss_feed['vacaturebeschrijving']);

// zet alle html karakters om in leesbare tekens
$artikel = htmlspecialchars($vacaturebeschrijving);

// plaats de artikelen
echo("<item>\n");
echo("<title>".$rss_feed['naamvacature']."</title>\n");
echo("<link>url van je website www.vacature-werkt.nl/Vacaturegegevens.php?id".$rss_feed['id']."</link>\n";);
echo("<description>".$vacaturebeschrijving."</description>\n");
echo("</item>\n");
}

// sluit de rss informatie
echo("</channel>\n");
echo("</rss>");
?>
Zie je html-source.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
 
</body>
</html>
<rss version="2.0">
<channel>
<title>Titel van je pagina</title>
<link>link naar je website</link>

<description>korte omschrijving van je website</description>
<language>nl</language>
</channel>
</rss> 


Dit gaat never nooit werken.
ah oké nu zie ik het ook als ik via FF kijk. Hoe krijg ik dat dan weg ? Dit wil ik natuurlijk niet ?
Backspace op je toetsenbord? Die HTML-meuk zal ongetwijfeld in je script ergens staan, of op de plek van een geincludeerd bestand.
aha, zat in connecten.php inderdaad. in FF krijg ik nog wel Dit XML-bestand lijkt geen geassocieerde stijlinformatie te hebben. De documentstructuur is hieronder weergegeven.
te zien. Waar is dat van ?


EN waarom zie ik niks weergeven ? WOrdt de SQL wel goed gedraaid ?

Reageren