<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Literatur / Bücher zum Thema: Perl Programmierung</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="demos.css">
</head>
<body bgcolor="#F1EDDA">
<h1 align="center">Ein Demo mit PHP4, DOMXML und UTF-8</h1>
<div align="center"><center>
<?php
/*
Bitte dieses Script nicht mehr verwenden! Ab Mitte August 2009 werden vom Amazon-Server nur noch Anfragen beantwortet, die
mit einer Signatur versehen sind. Zum Erstellen dieser Signatur ist PHP in der Version PHP 5.1.2 oder höher erforderlich.
Dieses Seite mit dem Listing dient nur noch der Anschauung. Folgen Sie statt dessen den Linkverweis "Ein einfaches Script..."
zu den neueren Scripten.
*/
//------ Hier bitte Ihre persoenlichen Zugangsschluessel eintragen --------
$access_key_id = "0X0"; //-- Hier bitte an Stelle von 0X0 zwischen "" ohne Leerstellen Ihre AWSAccessKeyId eintragen
$associate_id = "0X0"; //-- Hier bitte an Stelle von 0X0 zwischen "" ohne Leerstellen Ihre Partner-Id eintragen
//------ Rubrik und Thema vorwaehlen, damit Seite nicht leer ladet --------
$dierubrik = "Books"; //-- Eine Rubrik eintragen, z.B. Books oder Tools
$meinthema = "Java"; //-- Ein Suchwort, Thema, Titel oder Autor eintragen
//------ Ab hier bitte nur bei Bedarf die Zahlenwerte abaendern! ----------
$tableweite = "width=\"880\""; //-- Tabellenweite anpassen -------------
$cellspacg = "cellspacing=\"0\" cellpadding=\"0\"";
$zellenall = "padding-left: 10px; padding-right: 10px; padding-top: 12px; padding-bottom: 15px;";
$zellunten = "padding-left: 10px; padding-right: 10px; padding-top: 10px; padding-bottom: 10px;";
//------ Ab hier bitte keine Veraenderungen mehr vornehmen! ---------------
//------ Auslagerung dient nur zur Verkuerzung der Zeilen --------------------
$tabla = "target=\"_blank\"";
$goldbr = "<span class=\"goldbraun\">";
//------ Der Briefkasten vom Formular mit Umwandlung der Umlaute --------
if ($_GET) {
$SearchIndex = urlencode($_GET['SearchIndex']);
$Keywords = urlencode($_GET['Keywords']);
$ItemPage = urlencode($_GET['ItemPage']);
$eingang = array('%C3%84','%C3%A4','%C3%96','%C3%B6','%C3%9C','%C3%BC','%C3%9F','%3C','%3E','%28','%29','%7B','%7D','%5B','%5D',' ');
$ausgang = array('Ae','ae','Oe','oe','Ue','ue','ss','no','nie','nicht','nein','na','nae','nee','nu','+');
$umlautade = str_replace($eingang,$ausgang,$Keywords);
$SearchIndex = preg_replace("/[^a-zA-Z]/", "no", $SearchIndex);
$ItemPage = preg_replace("/[^0-9]/", "1", $ItemPage);
}
else {$SearchIndex = $dierubrik;
$umlautade = $meinthema;
$ItemPage = 1;
}
//----- Die Titelzeile und das obere Suchformular --------------------------------
print "\t<table border=\"0\" ".$tableweite." ".$cellspacg.">\n".
"\t<tr><td width=\"100%\" style=\"padding-top: 1px; padding-bottom: 2px; background-image: url(../images/zellendkl.gif)\">\n".
"\t<p align=\"center\">".$goldbr."Literatur / Bücher zum Thema " .$umlautade. " bei Amazon</span></td></tr>\n".
"\t</table>\n";
?>
<form name="Suchoptionen" action="<?php echo basename($_SERVER["PHP_SELF"]);?>" method="get" accept-charset="utf-8">
<br><br>
<select name="SearchIndex">
<option value="Books">Bücher</option>
<option value="DVD">DVD</option>
<option value="Music">Musik</option>
<option value="Toys">Spielwaren</option>
<option value="OutdoorLiving">Hobby & Freizeit</option>
<option value="Software">Software</option>
<option value="Tools">Werkzeug</option>
<option value="SoftwareVideoGames">Video & PC Spiele</option>
<option value="HomeGarden">Haus & Garten</option>
<option value="Kitchen">Haushalt</option>
<option value="Photo">Fotografie</option>
<option value="Electronics">Elektronik</option>
</select>
Eingabe
<input type="text" name="Keywords" value="" size="30">
<input type="hidden" name="ItemPage" value="1">
<input type="submit" value="Suchen">
</form>
<?php
print "\t<hr color=\"#FDFCFB\" />\n\n";
print "\t<table border=\"0\" ".$tableweite." cellspacing=\"0\" cellpadding=\"0\">\n\n";
//------ Das eigentliche Sende- und Empfangsteil -------------------------
//------ Die restlichen Parameter werden gebildet. -----------------------
$alleparameter = "AWSAccessKeyId" ."=". $access_key_id ."&".
"AssociateTag" ."=". $associate_id ."&".
"Operation" ."=". "ItemSearch" ."&".
"SearchIndex" ."=". $SearchIndex ."&".
"Keywords" ."=". $umlautade ."&".
"ResponseGroup" ."=". "Medium" ."&".
"ItemPage" ."=". $ItemPage;
//------ Die XML-Datei wird geladen. --------------------------------------
$doc = domxml_open_file("http://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService&".$alleparameter);
//------ Aus der XML-Datei werden zuerst die Bilder ausgelesen. -----------
//------ Wenn kein Bild vorhanden, so wird ein Ersatzimage geladen. --------
$Elemente = $doc->get_elements_by_tagname('Item');
foreach ($Elemente as $artikel) {
$ersatzBild = "ersatzbild.jpg"; >//-- Pfad fuer das Ersatzbild hier! ----
$BildElement = $artikel->get_elements_by_tagname('MediumImage');
if (count($BildElement) > 0) {$ImageElement = $BildElement[0];
$mediumimages = $ImageElement->first_child();
$einBild = $mediumimages->get_content();
} else {$einBild = $ersatzBild;
}
//------ Ab hier werden die textlichen Inhalte ausgelesen. ----------------
$titel = $artikel->get_elements_by_tagname('Title');
if (count($titel) > 0) {$Beginn = $titel[0];
$derTitel = $Beginn->get_content();
} else {$derTitel = 'Keine Angaben zum Titel abrufbar!';
}
$Autor = $artikel->get_elements_by_tagname('Author');
if (count($Autor) > 0) {$Autoreins = $Autor[0];
$einAutor = $Autoreins->get_content();
} else {$einAutor = 'Siehe unter weitere Details';
}
if (count($Autor) > 1) {$Autorzwei = $Autor[1];
$Mitautor = $Autorzwei->get_content();
} else {$Mitautor = ' ';
}
if (count($Autor) > 2) {$Autordrei = $Autor[2];
$zweiterMitautor = $Autordrei->get_content();
} else {$zweiterMitautor = ' ';
}
$Buchbindung = $artikel->get_elements_by_tagname('Binding');
if (count($Buchbindung) > 0) {$welcheBindung = $Buchbindung[0];
$dieseBindung = $welcheBindung->get_content();
} else {$dieseBindung = '-';
}
$Bestellung = $artikel->get_elements_by_tagname('DetailPageURL');
if (count($Bestellung) > 0) {$Informationen = $Bestellung[0];
$Infos = $Informationen->get_content();
} else {$Infos = 'weitere Informationen nicht zugaenglich';
}
$Hersteller = $artikel->get_elements_by_tagname('Manufacturer');
if (count($Hersteller) > 0) {$Herausgeber = $Hersteller[0];
$Manufacturer = $Herausgeber->get_content();
} else {$Manufacturer = 'keine Angaben';
}
$einDatum = $artikel->get_elements_by_tagname('PublicationDate');
if (count($einDatum) > 0) {$diesesDatum = $einDatum[0];
$PublicationDate = $diesesDatum->get_content();
} else {$PublicationDate = '-';
}
//------- Was die Beschaffenheit anbelangt, z.B. tadelose Neuware --------
$Feature = $artikel->get_elements_by_tagname('Feature');
if (count($Feature) > 0) {$Angabeeins = $Feature[0];
$Neuware = $Angabeeins->get_content();
} else {$Neuware = 'keine Angaben';
}
if (count($Feature) > 1) {$Angabezwei = $Feature[1];
$weitereAngaben = $Angabezwei->get_content();
} else {$weitereAngaben = '*siehe unter Details';
}
//------ Offizieller Handelspreis und Angebotspreise ---------------------
$Neupreis = $artikel->get_elements_by_tagname('LowestNewPrice');
if (count($Neupreis) > 0) {$Preisinfo = $Neupreis[0];
$derPreis = $Preisinfo->last_child();
$ganztoll = $derPreis->get_content();
} else {$ganztoll = 'keine Angaben';
}
$Altpreis = $artikel->get_elements_by_tagname('LowestUsedPrice');
if (count($Altpreis) > 0) {$malsehen = $Altpreis[0];
$Preiszwei = $malsehen->last_child();
$Testpreis = $Preiszwei->get_content();
} else {$Testpreis = 'keine Angebote';
}
//------ Hier beginnt die Bildschirmausgabe für Content und Tabelle -------
print "\t<tr><td align=\"center\" style=\"".$zellenall." border-bottom: 1px solid rgb(255,255,255)\">".
"<a href=\"".$Infos."\" target=\"_blank\"><img src=\"".$einBild."\" border=\"0\"></a></td>".
"<td align=\"center\" style=\"".$zellenall." border-bottom: 1px solid rgb(255,255,255)\">".
"<a class=\"braungold\" href=\"".$Infos."\" target=\"_blank\">".$derTitel." </a><br>".
"<b>·</b> ".$einAutor." <b>·</b> ".$Mitautor." <b>·</b> ".$zweiterMitautor."<br>".
"Verlag/Produzent: ".$Manufacturer."<br>".
"erschienen: ".$PublicationDate." ".$dieseBindung." <br>".
"Beschaffenheit: ".$Neuware.", ".$weitereAngaben." <br>".
"Neupreis: ".$ganztoll." / erhaeltlich ab: ".$Testpreis." <br><br>".
"<a class=\"braungold\" href=\"".$Infos."\" target=\"_blank\">weitere Details</a>\n\t</td></tr>\n\n";
} // ...und an die anderen Klammern denken!
print "\t<tr><td align=\"center\" style=\"".$zellunten." border-bottom: 1px solid rgb(255,255,255)\" colspan=\"2\">\n\n";
$Headelemente = $doc->get_elements_by_tagname('Items');
foreach ($Headelemente as $Gesamtergebnisse) {
//----- Anzahl der Summe aller Ergebnisse ----------------------------------
$Gesamt = $Gesamtergebnisse->get_elements_by_tagname('TotalResults');
if (count($Gesamt) > 0) {$alleErgebnisse = $Gesamt[0];
$TotalResults = $alleErgebnisse->get_content();
}
//----- Anzahl der Seiten insgesamt ---------------------------------------
$Total = $Gesamtergebnisse->get_elements_by_tagname('TotalPages');
if (count($Total) > 0) {$Seitenzahl = $Total[0];
$TotalPages = $Seitenzahl->get_content();
}
//----- Die gesuchten Begriffe -------------------------------------------
$Suchebegriffe = $Gesamtergebnisse->get_elements_by_tagname('Keywords');
if (count($Suchebegriffe) > 0) {$gefunden = $Suchebegriffe[0];
$Keywords = $gefunden->get_content();
}
//----- Sie aktuelle Seite -----------------------------------------------
$Total = $Gesamtergebnisse->get_elements_by_tagname('ItemPage');
if (count($dieSeite) > 0) {$welche = $dieSeite[0];
$ItemPage = $welche->get_content();
}
//----- Die Kategorie betreffend - z.B. Books ----------------------------
$Kategorie = $Gesamtergebnisse->get_elements_by_tagname('SearchIndex');
if (count($Kategorie) > 0) {$wasnun = $Kategorie[0];
$SearchIndex = $wasnun->get_content();
}
//------ Hier erhalten die Kategorien ihren deutschen Namen ---------------
$Deutsch = array('Books' => 'Bücher',
'Music' => 'Musik',
'DVD' => 'DVDs',
'Toys' => 'Spielwaren & Modellbau',
'OutdoorLiving' => 'Hobby & Freizeit',
'Software' => 'Software',
'Tools' => 'Werkzeug',
'SoftwareVideoGames' => 'Video & PC Spiele',
'HomeGarden' => 'Haus & Garten',
'Kitchen' => 'Haushalt',
'Photo' => 'Fotografie',
'Electronics' => 'Elektronik');
$Keywords = preg_replace("/[ ]/", "+", $Keywords);
//------ Ab hier erfolgt die Bildschirmausgabe der Treffer usw.. ---------
print "Seite ".$ItemPage." - Rubrik: ".$Deutsch[$SearchIndex]." - Thema: ".$Keywords."<br />\n";
print "Treffer insgesamt: ".$TotalResults." auf ".$TotalPages." Seiten\n";
} //--- Diese Klammer nicht vertrödeln! ----------------------------------
//----- Das Formular ist bis auf PHP_Self normales HTML ------------------
?>
<form name="Suchoptionen" action="<?php echo basename($_SERVER["PHP_SELF"]);?>" method="get" accept-charset="utf-8">
<br><br>
<select name="SearchIndex">
<option value="Books">Bücher</option>
<option value="DVD">DVD</option>
<option value="Music">Musik</option>
<option value="Toys">Spielwaren</option>
<option value="OutdoorLiving">Hobby & Freizeit</option>
<option value="Software">Software</option>
<option value="Tools">Werkzeug</option>
<option value="SoftwareVideoGames">Video & PC Spiele</option>
<option value="HomeGarden">Haus & Garten</option>
<option value="Kitchen">Haushalt</option>
<option value="Photo">Fotografie</option>
<option value="Electronics">Elektronik</option>
</select>
Eingabe
<input type="text" name="Keywords" value="" size="30">
<input type="hidden" name="ItemPage" value="1">
<input type="submit" value="Suchen">
</form>
<?php
//------- Hier beginnt der Seitencounter ----------------------------------
print "\t</td></tr>\n\t<tr><td style=\"padding-top: 10px; padding-bottom: 10px\" colspan=\"2\">\n";
print "\t<table border=\"0\" width=\"100%\"><tr><td width=\"33%\" align=\"left\" style=\"padding-left: 20px\">\n";
if ($TotalPages > 1) {
if ($ItemPage > 1) {
echo "\t<a class=\"braungold\" href=\"?".
"SearchIndex"."=". $SearchIndex ."&".
"Keywords" ."=". $Keywords ."&".
"ItemPage" ."=".($ItemPage -1).
"\">« zurück </a>\n";
} else {echo "\t<span class=\"zueinsam\">« zurück</span></td>\n";}
}
$scautor = "Script von www.seo-welten.de";
$lscautor = "href=\"http://www.seo-welten.de\"";
print "\t<td width=\"33%\" align=\"center\"><a class=\"braunklein\" ".$lscautor." ".$tabla.">".$scautor."</a></td>\n";
print "\t<td width=\"34%\" align=\"right\" style=\"padding-right: 20px\">\n";
if ($TotalPages > 1) {
if ($ItemPage*1 <= $TotalPages) {
echo "\t<a class=\"braungold\" href=\"?".
"SearchIndex"."=". $SearchIndex ."&".
"Keywords" ."=". $Keywords ."&".
"ItemPage" ."=".($ItemPage +1).
"\">nächste Seite »</a>\n";
} else {echo "*\n";}
}
print "\t</td></tr></table>\n\n</td></tr></table>\n";
?>
</center></div>
</body>
</html>
|