PHP-Beispiel
Klicken Sie hier, um die Datei herunterzuladen
<?php
/////////////////////////////////////////////////////////////
// Php example script for generating xml to Gadyet
//
// w.o arguments it exports last 1000 ads as xml:
// http://www.yourserver.com/feed.php
//
// with argument Id it checks if ad with id Id exists by printing '1' or '0'
// http://www.yourserver.com/feed.php?Id=342342
//
///////////////////////////////////////////////////////////////
// xml to be returned
$xml = '';
// start at item No
$start = 0;
// number of recs
$offset = 1000;
// if checking up an ad, (article id is set)
$check_ad = false;
// get products from database
$sql = 'SELECT * FROM products ';
// Gadyet robot sends an id, so its a check
if (isset ($_GET['Id']) && (int) $_GET['Id'] > 0) {
$sql .= 'WHERE Id=' . $_GET['Id'] . ' ';
$check_ad = true;
}
// if export xml
if ($check_ad === false) {
$sql .= 'ORDER BY Addate DESC';
if (isset ($_GET['start']) && (int) $_GET['start'] > 0) {
$start = $_GET['start'];
}
if (isset ($_GET['offset']) && (int) $_GET['offset'] > 0) {
$offset = $_GET['offset'];
}
$sql .= 'LIMIT ' . $start . ', ' . $offset;
$query = mysql_query($sql);
$_xmlrows = '';
// iterate resultset
while ($row = mysql_fetch_object($query)) {
// generate a xml row
$_xmlrows .= xmlrowtemplate($row);
}
mysql_free_result($query);
// generate a xml document
$xml = xmldoctemplate($_xmlrows);
// print the xml document
printxml($xml);
}
// if checking an ad
else if ($check_ad === true) {
$query = mysql_query($sql);
// get numresult
if (mysql_num_rows($query)>0){
print 1;
} else {
print 0;
}
}
/////////////////////////////////////////////////////////////
function xmlrowtemplate($dbrow) {
return '
<Ad>
<Id>' . $dbrow->Id . '</Id>
<Link>' . $dbrow->Link . '</Link>
<Date>' . $dbrow->Addate . '</Date>
<Expires>' . $dbrow->Expires . '</Expires>
<Title>' . $dbrow->Title . '</Title>
<Description>' . $dbrow->Description . '</Description>
<Price>' . $dbrow->Price . '</Price>
<Type>' . $dbrow->Type . '</Type>
<Seller>' . $dbrow->Seller . '</Seller>
<ImageAvailable>' . $dbrow->ImageAvailable . '</ImageAvailable>
<ImageUrl>' . $dbrow->ImageUrl . '</ImageUrl>
<Category>' . $dbrow->Category . '</Category>
<Region>' . $dbrow->Region . '</Region>
<Arealiving>' . $dbrow->Arealiving . '</Arealiving>
<Numrooms>' . $dbrow->Numrooms . '</Numrooms>
<Fee>' . $dbrow->Fee . '</Fee>
<Housingtype>' . $dbrow->Housingtype . '</Housingtype>
<Address>' . $dbrow->Adress . '</Address>
<Zipcode>' . $dbrow->Zipcode . '</Zipcode>
<City>' . $dbrow->City . '</City>
<Latitude>' . $dbrow->Latitude . '</Latitude>
<Longitude>' . $dbrow->Longitude . '</Longitude>
<Year>' . $dbrow->Year . '</Year>
<Carmodel>' . $dbrow->Carmodel . '</Carmodel>
<Cardistance>' . $dbrow->Cardistance . '</Cardistance>
<Adproperties>
<Property name="property1">' . $dbrow->Property1 . '</Property>
<Property name="property2">' . $dbrow->Property2 . '</Property>
</Adproperties>
</Ad>
';
}
function xmldoctemplate($data) {
$_xmldoc = '
<?xml version=\'1.0\' encoding=\'UTF-8\'?>
<Gadyet>
<Ads>
';
$_xmldoc .= $data;
$_xmldoc .= '
</Ads>
</Gadyet>
';
return $_xmldoc;
}
function printxml($doc) {
header('Content-type: text/xml');
print $doc;
}
Zurück