Suche auf lima-city
-
in: Amazon API kostenpflichtig?
geschrieben von boobox
hm, ok, aber noch bin ich mir nicht so ganz sicher,
ob die Nutzung der Amazon Product Advertising API ... Link1 ... Link
kostenlos ist, oder doch kostenpflichtig ist,
also ob man dafür je Request oder für Traffic bezahlen muss
... ich habe nichts dagegen, wenn je SALE der Verkäufer auch einen Teil der Provision ab-bekommt
also ich keine "Kosten" habe, sondern nur ggf. geringere Einnahmen
aber eich will nicht Geld bezahlen für die Anfragen an die API oder für Traffic
Nutzt Ihr aucch die Amazon Product Advertising API ??? Erfahrungen ? -
in: Amazon API kostenpflichtig?
geschrieben von boobox
Hallo
ich habe mich beim Partnerprogramm von Amazon angemeldet,
und möchte deren API benutzen, um Produkte nach Suchwort zu finden
zum Einbau von passenden Produkten auf meinen Seiten.
Jetzt lese ich da was wie: ... "Für ein AWS-Konto ist eine gültige Kreditkarte erforderlich."
heiss da jetzt,, die API Nutzung kostet Geld ??
-
in: Seiten Blättern Funktion
geschrieben von boobox
jo Danke, das sieht schon ganz gut aus.
ja, ein bishcne PHP kann ich schon ... habe das Beispiel noch ein bischen erweitert / verbessert
+ auch 5 Links zeigen, wenn aktuelle Seite noch kleiner als 3 ... vorher waren da zu wenige
+ mit Übergabe eines Suchwort (Query-String) aus Formular (POST) und in Links (GET)
+ mit "formatiereten" Zahlen bei Seiten-Nummern (immer 3-Stellig mit führenden Nullen)
<?php // ------------------------------------------------------- header('Content-Type: text/html; charset=utf-8'); $runfile = basename($_SERVER['PHP_SELF']); // ------------------------------------------------------- $page = 1; $query_string = 'Bücher'; $query_string = utf8_encode($query_string); if (isset($_REQUEST['page']) && is_numeric($_REQUEST['page']) && is_int($_REQUEST['page'] *1)) { $page = $_REQUEST['page']; } if (isset($_REQUEST['q']) && !empty($_REQUEST['query'])) { $query_string = $_REQUEST['query']; } $query_urlenc = rawurlencode($query_string); // ------------------------------------------------------- function formatNum($id,$len=3) { $nr = str_pad($id,$len,'0',STR_PAD_LEFT); return $nr; } function getPages($id) { global $runfile, $query_urlstr; if ($id == 1) { $html = "<a>Seite ".formatNum(1)."</a>"; } else { $html = "<a href='".$runfile."?query=".$query_urlstr."&page=1'>Seite ".formatNum(1)."</a>"; if ($id > 2) { $html .= " --- <a href='".$runfile."?query=".$query_urlstr."&page=" . ($id -1) . "'>Seite " . formatNum($id -1) . "</a>"; } $html .= " --- <a>Seite " . formatNum($id) . "</a>"; } $html .= " --- <a href='".$runfile."?query=".$query_urlstr."&page=" . ($id +1) . "'>Seite " . formatNum($id +1) . "</a>"; $html .= " --- <a href='".$runfile."?query=".$query_urlstr."&page=" . ($id +2) . "'>Seite " . formatNum($id +2) . "</a>"; if ($id < 3) { $html .= " --- <a href='".$runfile."?query=".$query_urlstr."&page=" . ($id +2) . "'>Seite " . formatNum($id +3) . "</a>"; } if ($id < 2) { $html .= " --- <a href='".$runfile."?query=".$query_urlstr."&page=" . ($id +2) . "'>Seite " . formatNum($id +4) . "</a>"; } $html .= " --- "; return $html; } // ------------------------------------------------------- ?> <!DOCTYPE html> <html> <head> </head> <body> <div style="text-align:center;"> <br /> <br /> <form name="form1" method="post" action="<?php print $runfile; ?>"> Suchwort(e): <input type="text" name="q" size="40" maxlength="150" value="<?php print $query_string; ?>" /> OK: <input type="submit" name="run" value="Suchen" /> <input type="hidden" name="p" value="1" /> </form> <br /> <br /> <p>Suchwort: <strong><?php echo $query_string; ?></strong></p> <p>Aktuelle Seite: <strong><?php echo $page; ?></strong></p> <hr /> <?php echo "<p>".getPages($page)."</p>\n" ?> <hr /> <br /> <br /> </div> </body> </html>
schon ganz nett, aber es funktioniert damit halt nur für 5 Links in der Seiten-Navigation
nur zum herumspielen und lernen ... wie machen, wenn man Anzahl der Links dynamisch haben will ?
also als zusätzliches Argument (Parameter) bei Funktions-Aufruf ... z.B: getPages($page,7) für 7 Links
-
in: Seiten Blättern Funktion
geschrieben von boobox
Hallo
ich möchte eine Seiten Blättern Funktion erstellen, bei der man quasi unendlich weiter blättern kann,
aber immer nur 5 Seiten-Links angezeigt werden, wobei immer mit Seite:01 ganz vorne steht
und - wenn Seitenzahl groß genug - man auch immer direkt eine Seite zurück kann.
Also wenn man auf Seite 1 ist dann ist es ja einfach:
-- Seite:01 --- Seite:02 --- Seite:03 --- Seite:04 --- Seite:05 ---
... wenn man auf Seite 04 ist, dann soll es so aussehen:
--- Seite:01 -- Seite:03 --- Seite:04 --- Seite:05 --- Seite:06 ---
... wenn man auf Seite 15 ist, dann soll es so aussehen:
--- Seite:01 -- Seite:14 --- Seite:15 --- Seite:16 --- Seite:17 ---
usw. ... also immer mit Seite:01, immer eine Seite zurück möglich und Gesamt max. 5 Links
Wie kann ich das mit einer /eigenen) PHP Funktion lösen,
bei der ich als Argument (Parameter) nur die aktuelle Seite übergebe ?!
-
in: Klicks zählen ohne URL zu verändern ?
geschrieben von boobox
Hallo
habe das mal ausprobiert, hier meine Lösung dafür
... aber noch ohne fertige Datei count_click.php zum Speichern der Klicks (siehe unten)
nur mit DEBUG-Ausgabe, was durch den Klick und die jQuery (POST) Anfrage dort ankommt
Datei test_seite.htm
= die Datei mit den Links, je Link mit eindeutige ID innerhalb dem Container (div) #links
damit der Klick auch genau zugeordnet werden kann
... diese Seite muss nicht .htm sein, sie könnte auch index.php oder sonst-wie heissen, egal ....
nur wenn man die Datei count_click.php anders benennt, das dann entspr. auch im Code ändern ;)
<html> <head> <title>Test Click Count</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#links a').click(function(e) { var cc_id = $(this).attr('id'); var cc_href = $(this).attr('href'); var cc_target = $(this).attr('target'); var cc_text = $(this).text(); var cc_msec = new Date().getTime(); $.post("count_click.php", { 'id':cc_id, 'link':cc_href, 'target':cc_target, 'text':cc_text, 'msec':cc_msec }) .done(function(data) { $('#result').empty().html(data); }) .fail(function() { $('#result').empty().html("<p> Fehler ... kann Anfrage nicht verarbeiten </p>"); }); if (cc_target != '_blank') { e.preventDefault(); window.open(cc_href); // --- open link in new window/tab if target is not _blank --- return false; } }); }); </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <br> <br> <div id="links"> <br> + <a href="http://heise.de" id="lnr01" target="_blank">heise.de</a> <br> + <a href="http://google.de" id="lnr02" target="_self">google.de</a> <br> + <a href="http://lima-city.de" id="lnr03" target="_top">lima-city.de</a> </div> <br> <br> <div id="result"> ... hier kommt die Ausgabe bei Aufruf von: count_click.php ... </div> <br> <br> </body> </html>
Datei count_click.php
an diese Datei werden die Daten bei Klick gesendet, dort kann man dann in DB Speichern, etc.
dort könnte dann auch eine IP-Reload-Sperre rein, um keine Mehrfach-Klicks mit zu zählen, usw.
<?php // ------------------------------------------------------ print "<br />\n"; print "<br />\n"; print "<pre style=\"margin:4px; padding:4px; background:#DEDEDE; text-align:left; color:#000033;\">\n"; print_r($_POST); print "</pre>\n"; print "<br />\n"; print "<br />\n"; // ------------------------------------------------------ ?>
Beispiel Ausgabe wäre bei Klick auf den lima-city.de LINK dann so
Array ( [id] => lnr03 [link] => http://lima-city.de [target] => _top [text] => lima-city.de [msec] => 1366283081418 )
also man bekommt sowohl die ID sowie href (= KEY: link) und den Link-Text , etc.
und kann damit dann je nach Anforderungen und DB-Struktur die Klikcs speichern
PS: Besonderheit ist, wenn ein Link nicht target="_blank" hat
dann wird der Link trotzdem in einem neuen Fenster (bzw. Tab) geöffnet,
damit man genug "Zeit" hat, die Datei count_click.php zu verarbeiten
... evtl gibt es dafür ja ne bessere Lösung ... ;)
EDIT: ... Nachtrag .. das geht bestimmt auch ohne jQuery, direkt mit AjaX ... irgendwie :oO