Ergebnis 1 bis 5 von 5

Thema: Top Verdienste Anzeigen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator
    Registriert seit
    07.07.2006
    Beiträge
    1.370

    Top Verdienste Anzeigen

    Hallo an alle, derzeitig optimiere ich Autolose.de ein wenig auf Performance hin damit mein Hoster blos keinen Sress mehr macht.

    In meinem Header habe ich eine Anzeige für die Hochvergütetste Werbung eingebaut für derzeitig 3 Werbarten, das wollte ich auf 5 erhöhen, jedoch denke ich mir ist die jetzige Lösung schon so fast der Supergau für meine DB.

    Hier mal der aktuelle Befehl:

    PHP-Code:
    <? $bbb1 = mysql_fetch_array(db_query("SELECT verdienst FROM ".$db_prefix."_gebuchte_werbung where werbeart = 'forcedbanner' ORDER BY verdienst DESC LIMIT 1")); ?>
    <?=@number_format($bbb1['verdienst'] ,0,",",".");?>
    Aus meiner Sicht geht der einmal die ganze Werbung durch, schaut in diesem Fall was sind Banner, und sortiert diese um dann den höchsten Wert auszugeben.

    Nun habe ich mir auch schon eine Lösung überlegt die eigentlich einfach umzusetzten ist, jedoch fehlt mir mal wieder das PhP und Mysql Wissen dazu.

    Daher beschreibe ich mal wie ich es lösen möchte:
    Ein Cron soll z.B. stündlich laufen und den obigen Befehl ausführen, den Wert jedoch extra Speichern, entweder in der DB oder direkt in eine Datei. Diese Datei oder Tabelle wird nun ausglesen und von dort aus der Wert für die Anzeige genommen.

    Somit liesen sich massig Abfragen in der DB sparen wie ich denke.

    Vielleicht hilft mir ja jemand dabei das umzusetzten.

    MfG

  2. #2
    Erfahrener Benutzer
    Registriert seit
    20.06.2007
    Beiträge
    1.905
    Cron -> DB abfrage (pro werbeart/sponsor) -> db abspeichern -> Jedes mal Neu auslesen
    das wäre immerhin schon eine große Erleichterung die du da vorhast, jedoch würde ich dir etwas anderes vorschlagen ...

    Den Wert einfach zu Cachen und ihn alle 30 min. Aktualisieren lassen, dann oder 5 min später, wenn der Cron von den Sponsoren gelaufen ist.

    30 min ->0 db abfragen -> nach 30 min. fragt er alles ab -> speichert den wert in einer .txt file/oder anderen -> ließt einfach den Wert aus der .txt heraus ...->0 DB abfragen


    Das mit dem Cachen ist eigentlich einfach, kannst dir ja vom statsspicker, oder vom top10 mit Addon anschauen ...(Forensuche), dann einfach den teil der fürs cachen verantwortlich ist heraussuchen, bei dir einfügen und fertig.

  3. #3
    Erfahrener Benutzer Avatar von Parl
    Registriert seit
    22.05.2008
    Beiträge
    358
    Ich pack solche Sachen (auch wenn das nicht die optimale Tabelle ist) mit unter vms_seitenkonfig.

    Die Seitenkonfig wird bei jedem Seitenaufruf eh immer komplett ausgelesen, daher hab ich dort z.b. auch den User des Tages, Alle heutigen Geburtstage als array, den Stundenbonus, die aktuelle Anteilsausschüttung, den neuesten User und noch mehr drin.

    Man könnte dafür ja die vms_seitenkonfig kopieren in eine neue Tabelle vms_krimskrams z.b. und dort dann für jede Werbeart eine Spalte anlegen und es dann dort ablegen.
    YY Order!
    Meine Loseseite Meine Scripte
    For I am Costanza: Lord of the Idiots!

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Code:
    EXPLAIN SELECT verdienst FROM vms_gebuchte_werbung where werbeart = 'forcedbanner' ORDER BY verdienst DESC LIMIT 1;
    Und schon verrät dir MySQL, was es macht, da musst du nicht raten

    "Schöner" ist es, den Maximalen Wert mit der Aggregatfunktion MAX() zu ermitteln, kombiniert mit GROUP BY kann man so auch alle Werbearten auf einmal abfragen:

    Code:
    SELECT MAX( verdienst ) , werbeart
    FROM vms_gebuchte_werbung
    WHERE menge>0 AND status=1 
    GROUP  BY werbeart
    Durch setzen eines geeigneten Index könnte man diese Abfrage optimieren, aber besser ist da die von Parl&Xenon vorgeschlagene Variante, den Wert zwischenzuspeichern, da er sich ja auch nicht so oft ändert.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #5
    Moderator
    Registriert seit
    07.07.2006
    Beiträge
    1.370
    Danke für eure Hilfe, werde mich bis Montag mal daran probieren mit dem Cachen.

    Das man mit setzen geeigneter Indexe auch top optimieren kann weiß ich ja schon lange, aber wie das funktioniert wurde hier noch nie laiengerecht abgehandelt und es wird ja gewarnt es selbst zu machen wenn man keine Ahnung davon hat, daher lasse ich da die Finger von.

    MfG

Ähnliche Themen

  1. Zeigt keine Verdienste an im Userbereich
    Von pinmaxx im Forum [HD] Programmieren
    Antworten: 2
    Letzter Beitrag: 30.11.2014, 18:26
  2. Wie Ref-Verdienste beim Superhotel einbringen?
    Von Rallef im Forum Support zu Addons & Erweiterungen
    Antworten: 5
    Letzter Beitrag: 02.07.2009, 17:02
  3. [S] Refs Searchdevil - Top Verdienste möglich!
    Von Gremlin im Forum Ref & Werberhandel
    Antworten: 8
    Letzter Beitrag: 04.04.2009, 00:15
  4. JP2 Datein anzeigen
    Von Hardy im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 3
    Letzter Beitrag: 29.11.2007, 20:55
  5. Seitenzahl anzeigen
    Von Holstenjungs im Forum Weiterentwicklung Basisscript
    Antworten: 4
    Letzter Beitrag: 30.09.2007, 23:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •