Hi.
Ich hab mir den Rat bzw. den Link (www.php.net), den ich hier IMMER zu hören bzw. zu sehen bekommen, wenn ich newbhafte Fragen stelle, letztlich zu Herzen genommen und STUNDENLANG copy&past-haft etwas zusammengecodet, was nun tatsächlich auch funktioniert. Zwar bin ich nun schlauer als vorher; aber nicht so schlau, um folgendes Problem in PHP-Code umzusetzen:
Z. Zt. holt sich das Script das erste <FormattedPrice>-Element in der XML-Datei - das ist auch für diese Abfrage immer dasjenige, das ich brauche. Ich möchte nun aber in einer Abfrage zwei <FormattedPrice>-Elemente speichern. Das Problem ist, das die Anzahl der <FormattedPrice>-Elemente variiert; manchmal sind's zwei, mal drei usw. Anders als im ersten Fall, bringt mir das preg_match in dieser Form wenig. Das zweite Element, das ich brauche, ist aber immer in folgender Struktur versteckt:
Wie krieg ich das (i.e. den Preis samt "EUR" zwischen <FormattedPrice>) jetzt da raus? Wäre wirklich fein, wenn mir jemand helfen könnte!
Das besagte (halb fertige) Script:
Ich hab mir den Rat bzw. den Link (www.php.net), den ich hier IMMER zu hören bzw. zu sehen bekommen, wenn ich newbhafte Fragen stelle, letztlich zu Herzen genommen und STUNDENLANG copy&past-haft etwas zusammengecodet, was nun tatsächlich auch funktioniert. Zwar bin ich nun schlauer als vorher; aber nicht so schlau, um folgendes Problem in PHP-Code umzusetzen:
Z. Zt. holt sich das Script das erste <FormattedPrice>-Element in der XML-Datei - das ist auch für diese Abfrage immer dasjenige, das ich brauche. Ich möchte nun aber in einer Abfrage zwei <FormattedPrice>-Elemente speichern. Das Problem ist, das die Anzahl der <FormattedPrice>-Elemente variiert; manchmal sind's zwei, mal drei usw. Anders als im ersten Fall, bringt mir das preg_match in dieser Form wenig. Das zweite Element, das ich brauche, ist aber immer in folgender Struktur versteckt:
Code:
<Price> <Amount>2095</Amount> <CurrencyCode>EUR</CurrencyCode> <FormattedPrice>EUR 20,95</FormattedPrice> </Price>
Das besagte (halb fertige) Script:
PHP-Code:
<?php
function get_remote_file($url)
{
if (ini_get('allow_url_fopen')) {
return file_get_contents($url);
}
elseif (function_exists('curl_init')) {
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER, 0);
$file = curl_exec($c);
curl_close($c);
return $file;
}
else {
die('Error');
}
}
include "includes/connect.php";
$getitems="SELECT itemid,asin from phpbb_amazon";
$getitems2=mysql_query($getitems) or die("Could not get items");
while($getitems3=mysql_fetch_array($getitems2))
{
$url="http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=$acckey
&Operation=ItemLookup&ItemId=$getitems3[asin]&ResponseGroup=Medium,Offers&Condition=All&MerchantID=All";
$var=get_remote_file($url);
$regex = '/\<FormattedPrice\>EUR ([0-9]+?,?[0-9]*?)<\/FormattedPrice\>/';
preg_match($regex,$var,$match);
$price = $match[1];
print "$price<br>";
$updatecron="Update phpbb_amazon set price='$price' where itemid='$getitems3[itemid]'";
mysql_query($updatecron) or die("Could not update cron");
mysql_query("Delete from bgook");
}
?>
Kommentar