Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Optimierung der klick4.php mit Statistik

  1. #1
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320

    Optimierung der klick4.php mit Statistik

    Wer seine klick4.php etwas optimieren will und auch eine Statistikanzeige drin hat, dem schlage ich vor mal folgendes zu testen, um die DB zu entlasten und evtl. einen Geschwindigkeitsvorteil zu erhalten:

    PHP-Code:
    <? userstatus(); 
    head("Paidbanner");

    $max_banner = mysql_fetch_array(db_query("SELECT `max_forced` FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid'].""));  
    $fbanner = db_query("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE menge >='1' and werbeart = 'forcedbanner' and sponsor != '".$_SESSION['uid']."' and `verdienst` >0 and status = '1' ORDER BY verdienst DESC");
    $stat_gesamt = 0;   
    $stat_verguetung = 0;   
    $stat_aufenthalt = 0;   
    $stat_reload = 0;  
    //Gesamtwert der Minusbanner 
      $minusbanner=0;  
    //  $db_minus_banner_laden = mysql_fetch_array(db_query("SELECT SUM(verdienst) AS abzug FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='administrator' and werbeart = 'forcedbanner' and status = '1' and `verdienst` <0"));  
    //  $minusbanner=$db_minus_banner_laden['abzug'];   

    while($fa=mysql_fetch_array($fbanner)){  
    $int_reload = db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='".$fa['tan']."' and  (uid='".$_SESSION['uid']."' or ip='".$ip."') and bis >= ".time()."");  
    $stat_gesamt++;  
        $stat_verguetung = $stat_verguetung+$fa['verdienst'];  
        $stat_aufenthalt = $stat_aufenthalt+$fa['aufendhalt'];  
        if (mysql_num_rows($int_reload) > 0) { $stat_reload++; }  
    }  
    echo "<center><b>";  
    echo "Aktive Paidbanner: ".number_format(($stat_gesamt-$stat_reload),0,',','.')." | Reloadsperre: ".number_format($stat_reload,0,',','.');   
    echo " <br /> ";   
    echo "Ø Aufenthalt: ".number_format(($stat_aufenthalt/$stat_gesamt),2,',','.')." Sek. | ";   
    echo "Ø Durchlauf: ".number_format(($stat_gesamt*(($stat_verguetung-$minusbanner)/$stat_gesamt)),2,',','.')." ".$waehrung." | ";   
    echo "Ø Vergütung: ".number_format((($stat_verguetung)/$stat_gesamt),2,',','.')." ".$waehrung;   
    echo "</center></b><br />";   

    mysql_data_seek($fbanner, 0); 
    //$forcedbanner = db_query("SELECT tan,banner,reload,verdienst,aufendhalt FROM ".$db_prefix."_gebuchte_werbung WHERE menge >='1' and werbeart = 'forcedbanner' and status = '1' and sponsor != '".$_SESSION['uid']."' ORDER BY verdienst DESC");  
    $nextreload = 0;  
    while($f_banner=mysql_fetch_array($fbanner)){  
    $int_reload = db_query("SELECT bis FROM ".$db_prefix."_reloads WHERE tan='".$f_banner['tan']."' and (uid='".$_SESSION['uid']."' or ip='".$ip."') and bis >= ".time()."");  
    if (!mysql_num_rows($int_reload) && $x_banner <= ($max_banner['max_forced']-1)) { 
    echo '<div align="center" id="banner_'.$x_banner.'"><a href="fc.php?tan='.$f_banner['tan'].'" target="_blank"><img src="'.$f_banner['banner'].'" border="1" height="60" width="468" alt="'.$f_banner['tan'].'" onClick="document.getElementById(\'banner_'.$x_banner.'\').style.display=\'none\';"></a><br>Reload:'. $f_banner['reload']/3600 .' Std. | Verdienst: '.number_format($f_banner['verdienst'],2,',','.').' | Aufendhalt:'.$f_banner['aufendhalt'].' Sekunden<br><br></div>';  
    $x_banner++;  
    } else {  
    $int_reload = db_query("SELECT bis FROM ".$db_prefix."_reloads WHERE (uid='".$_SESSION['uid']."' or ip='".$ip."') and bis >= ".time()." ORDER BY bis ASC");  
    $reload = mysql_fetch_object ($int_reload);  
    if ($reload->bis > $nextforced) { $nextforced = $reload->bis; }  
    }  
    }  

    if ($x_banner <= 0) {
    echo '<hr><hr><hr><div align="center"><font color="#FF0000"><b>Alle Banner im Reload !</b></font></div>';

    } else {  
    echo '<div align="center"><form action="" method="post"><input type="Submit" name="mehr_banner" value="Weitere Banner ?"></form></div>';  
    }
    mysql_free_result($fbanner);
    foot();
    ?>
    mfg
    dragon11

  2. #2
    Erfahrener Benutzer Avatar von MrRomeobln
    Registriert seit
    03.07.2006
    Beiträge
    649
    *mal ehrwürdig nen Beuger mach*

    funzelt 1A auf Nickcoins


  3. #3
    Neuer Benutzer
    Registriert seit
    18.07.2006
    Beiträge
    19
    danke für den post nun muss ich nur noch sparen das ich mir wieder die vms version downloaden darf und addons

  4. #4
    Erfahrener Benutzer Avatar von MrRomeobln
    Registriert seit
    03.07.2006
    Beiträge
    649
    /OT

    Ich wüsste ja wie Du Dir ein paar Downies dazu verdienen könntest wenn Du ein grafisches Händchen hast...

    Am besten schaust Du einfach mal HIER vorbei - vielleicht ist das ja was für Dich 8)

    /OT end


  5. #5
    Erfahrener Benutzer Avatar von swinxx
    Registriert seit
    16.09.2006
    Beiträge
    1.636
    Wenn ich das ganze machen will nur ich keine Minusbanner im Script hab, lass ich einfach den folgenden teil weg, oder ?

    PHP-Code:
    //Gesamtwert der Minusbanner 
      
    $minusbanner=0;  
    //  $db_minus_banner_laden = mysql_fetch_array(db_query("SELECT SUM(verdienst) AS abzug FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor='administrator' and werbeart = 'forcedbanner' and status = '1' and `verdienst` <0"));  
    //  $minusbanner=$db_minus_banner_laden['abzug']; 
    cu, Swinxx

    *EDIT*

    Ups, sehe grad das das ja sowieso Standardmäsig mit drin ist, Frage erübrigt sich also !

  6. #6
    Benutzer
    Registriert seit
    03.09.2006
    Beiträge
    91
    danke scheint zu klappen alles

    Aber die neue Klick4 braucht viel länger zum laden bei mir, ist das so normal?

  7. #7
    Erfahrener Benutzer Avatar von dragon11
    Registriert seit
    06.07.2006
    Beiträge
    320
    wenn sie länger braucht, dann nutze Deine alte klick4. Würde mich freuen, wenn Du Deine Lösung für eine schnelle klick4 posten würdest, oder meinst du die, die im Standart enthalten ist?
    mfg
    dragon11

  8. #8
    Benutzer
    Registriert seit
    03.09.2006
    Beiträge
    91
    hey,

    ich hatte vorher die standard klick4. deine hat den Vorteil das die eigenen Banner nicht mehr angezeigt werden und die Banner nach Vergütung sortiert werden.

    Der Große Nachteil ist aber das es merkbar länger dauert bis die Seite sich aufgebaut hat, kann es daran liegen das die Datenbank einfach zu hoch belastet wird wenn es die Banner sortiert? Bei fast 400 Kampagnen und 50 Bannern pro Seite ist das schon was...

  9. #9
    Neuer Benutzer
    Registriert seit
    18.07.2006
    Beiträge
    19
    Original von Gnarf
    hey,

    ich hatte vorher die standard klick4. deine hat den Vorteil das die eigenen Banner nicht mehr angezeigt werden und die Banner nach Vergütung sortiert werden.

    Der Große Nachteil ist aber das es merkbar länger dauert bis die Seite sich aufgebaut hat, kann es daran liegen das die Datenbank einfach zu hoch belastet wird wenn es die Banner sortiert? Bei fast 400 Kampagnen und 50 Bannern pro Seite ist das schon was...
    ja das dauert dann so oder so ein bischen länger du musst bedenken das er von jedem banner die url und die img daten abrufen muss ist jallt eine ganze menge die da abgerufen wird!

    wenn du die sotierung rausnimmst könnte es mili sekunden schneller werden

    teste doch einfach mal mit einem seiten aufbau counte was länger braucht währe nur mal ein tipp

  10. #10
    Erfahrener Benutzer Avatar von SebbyPHM
    Registriert seit
    17.07.2006
    Beiträge
    844
    besser wäre es, die statistik so zu machen:

    PHP-Code:
    <?
    userstatus();
    $max_verguet = 800; //Wie hoch darf die maximale Verguetung sein? Schutz gegen z.B. Interface-Fehler

    $forcedbanner = mysql_fetch_object (db_query ("SELECT COUNT(*) AS anzahl FROM ".$db_prefix."_gebuchte_werbung t1 LEFT JOIN ".$db_prefix."_reloads t2 ON (t1.tan=t2.tan AND (t2.uid='".$_SESSION['uid']."' or t2.ip='".$ip."')) WHERE t1.menge >='1' and t1.werbeart = 'forcedbanner' and t1.status = '1' and t1.sponsor != '".$_SESSION['uid']."' AND t2.tan IS NULL ORDER BY verdienst DESC"));
    $notreload = $forcedbanner->anzahl;
    $reloadbanner = mysql_fetch_object (db_query ("SELECT COUNT(*) AS anzahl FROM ".$db_prefix."_gebuchte_werbung t1 LEFT JOIN ".$db_prefix."_reloads t2 ON (t1.tan=t2.tan AND (t2.uid='".$_SESSION['uid']."' or t2.ip='".$ip."')) WHERE t1.menge >='1' and t1.werbeart = 'forcedbanner' and t1.status = '1' and t1.sponsor != '".$_SESSION['uid']."' AND t2.tan IS NOT NULL ORDER BY verdienst DESC"));
    $inreload = $reloadbanner->anzahl;

    head("");
    $max_banner = mysql_fetch_array(db_query("SELECT `max_forced` FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid'].""));

    $statsql = mysql_query("SELECT SUM(verdienst) AS sum_verdienst, SUM(aufendhalt) AS sum_aufendhalt FROM ".$db_prefix."_gebuchte_werbung WHERE menge >=1 AND werbeart = 'forcedbanner' AND status = 1 AND sponsor != '".$_SESSION['uid']."' AND verdienst > 0 AND verdienst <= ".$max_verguet) or die(mysql_error());
    $stat = mysql_fetch_array ($statsql);
    $gesamt = $notreload+$inreload;
    echo '<center>";
    echo 'Aktive Paidbanner: '.($notreload-$inreload).' | Reloadsperre: '.$inreload.'<br />';
    echo 'Ø Aufenthalt: '.number_format(($stat['sum_aufendhalt']/$gesamt),2,',','.').' Sek. | ';
    echo 'Ø Durchlauf: '.number_format(($gesamt*($stat['sum_verdienst']/$gesamt)),2,',','.').' '.$waehrung.' | ';
    echo 'Ø Verg&uuml;tung: '.number_format(($stat['sum_verdienst']/$gesamt),2,',','.').' '.$waehrung;
    echo '</center><br /><br />";

    $forcedbanner = db_query ("SELECT t1.* FROM ".$db_prefix."_gebuchte_werbung t1 LEFT JOIN ".$db_prefix."_reloads t2 ON (t1.tan=t2.tan AND (t2.uid='".$_SESSION['uid']."' or t2.ip='".$ip."')) WHERE t1.menge >='1' and t1.werbeart = 'forcedbanner' and t1.status = '1' and t1.sponsor != '".$_SESSION['uid']."' AND t2.tan IS NULL ORDER BY verdienst DESC LIMIT ".$max_banner['max_forced']);
    $i = 0;
    while($f_banner = mysql_fetch_array($forcedbanner)){
      echo '<div align="center" id="banner_'.$i.'"><a href="fc.php?tan='.$f_banner['tan'].'" target="_blank"><img src="'.$f_banner['banner'].'" border="0" height="60" width="468" alt="" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"></a><br>Reload:'. $f_banner['reload']/3600 .' Std. | Verdienst: '.number_format($f_banner['verdienst'],2,',','.').' | Aufendhalt:'.$f_banner['aufendhalt'].' Sekunden<br><br></div>';
      $i++;
    }

    if ($i != 0) echo '<div align="center"><form action="" method="post"><input type="submit" name="mehr_banner" value="Weitere Banner ?" /></form></div>';
    else echo '<center>Alle Banner im Reload!</center>';

    foot ();
    ?>
    Mit freundlichem Gruß
    SebbyPHM




Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Erweiterte Datenbank Optimierung der Bettelfunktion
    Von Hardy im Forum [HD] Codeschnippsel
    Antworten: 3
    Letzter Beitrag: 29.11.2009, 14:08
  2. Asiacheck Optimierung
    Von Lokutos im Forum [HD] Codeschnippsel
    Antworten: 17
    Letzter Beitrag: 15.03.2009, 23:44
  3. Antworten: 1
    Letzter Beitrag: 21.11.2007, 17:25
  4. DBlastiges VMS und Optimierung
    Von mastermix im Forum Support zum VMSone
    Antworten: 7
    Letzter Beitrag: 13.07.2007, 18:32
  5. Optimierung des VMS
    Von Mason1 im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 21.01.2007, 16:04

Berechtigungen

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