PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klickbereich - nur max. 3 Banner pro Sponsor anzeigen



cg710
14.03.2013, 20:57
Hallo,

ist es möglich, dass man z.B. bei den Forcedbannern den Code so umprogrammiert, dass pro Sponsor nur noch max. 3 Banner auftauchen können?
Jetzt ist es ja so, dass z.B. bei 10 gleichzeitigen Klicks alle Banner vom gleichen Sponsor sein könnten.

Ist das irgendwie zu realisieren?
Hab leider keine Ahnung, wie man das machen könnte! :(

Danke schon mal für Eure Hilfe.
MfG, cg710

jpwfour
15.03.2013, 14:41
Hm, relativ aufwändig das in einer Datenbankabfrage zu realisieren.

Quick&Dirty würde ich das so machen, dass man anstatt max_forced noch 10 mehr auslesen lässt. Dann in der while-Schleife in PHP sich je Sponsor merken, wie viele Banner man schon ausgegeben hat, nach 3 dann weitere Banner vom Sponsor überspringen.

Kann dann allerdings dazu führen, dass am Ende weniger als max_forced Banner ausgegeben wurden, wenn bspw. nach der Sortierung (verdienst absteigend) mal 100 Banner eines Sponsors hintereinander kommen, aber max forced 15 ist.

Damit max forced erreicht wird, in einer weiteren Schleife erneut Banner auslesen (hier könnte man den Query erweitern, um Sponsoren, bei denen das Limit schon erreicht ist, gleich auszuschließen). Abbruchbedingung wäre dann, wenn der SELECT iwann 0 Datensätze liefert (alle Banner im Reload/max forced kann nicht mehr erreicht werden).
Evtl auch das Limit zum weiteren auslesen jedesmal verdoppeln, nicht dass man da massig Abfragen generiert, weil die Daten gerade den worst case darstellen ^^

Aber evtl. kommt ja noch wer mit einem performanten Query um die Ecke, der das auch so kann :wink:

ParkingClinic
16.03.2013, 12:51
http://stackoverflow.com/questions/3140589/mysql-query-select-top-3-rows-from-table-for-each-category
http://code.openark.org/blog/mysql/sql-selecting-top-n-records-per-group
ggf denkanstoß

cg710
20.03.2013, 12:42
Das hab ich mir schon gedacht, dass das sehr aufwändig ist! :(
Naja, ich werds mal die Tage versuchen!

Danke für Eure Antworten!
MfG, cg710

Masterphil
20.03.2013, 13:43
Du könntest natürlich auch so rangehen:

Klickbereich in mehrere Klickbreiche splitten.

Jeder gesplittete Bereich ist dann für nur einen Sponsor, und dort wird dann immer auf 3 Banner beschränkt.

Du hättest also für jeden Sponsor eine eigene Klickdatei. Das entscheidende ist das die Ausgabe aller Sponsoren dann in einem Fenster vereint ist.


MfG

rene_1992
20.03.2013, 17:56
Die Frage allgemein wieso benötigt man sowas?


Mfg René

jpwfour
21.03.2013, 13:02
Die Frage allgemein wieso benötigt man sowas?...

Evtl. steht es so in den AGB einiger Sponsoren. Bzw. vergüten die Sponsoren evtl. nicht richtig, sobald 20 Banner gleichzeitig durch eine IP geklickt werden uvm.

Könnte der Webbi auch missbräuchlich nutzen, um "unendlich" viele Banner auflisten zu lassen, dafür je Sponsor eben nur X Stück. Aber ist ja nu jedem selbst überlassen.

Meiner Meinung nach sollte man sich das gut überlegen, da es vermutlich nur aufwändige Lösungen gibt, und damit meine ich weniger den Programmieraufwand, sondern die Datenbankbelastung ;-)