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