Ergebnis 1 bis 4 von 4

Thema: Erweiterte Datenbank Optimierung der Bettelfunktion

  1. #1
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235

    Erweiterte Datenbank Optimierung der Bettelfunktion

    Um das Betteln noch ein wenig datenbank schonender zu machen habe ich die reloads der bettelaufrufe bei mir in eine extra tabelle geschrieben und auch speziell für das betteln die indexe gesetzt.

    Wer das ganze verwenden möchte...
    SQL Code ausführen:
    PHP-Code:
    CREATE TABLE IF NOT EXISTS `vms_reloads_betteln` (
      `
    ipvarchar(15NOT NULL default '',
      `
    uidint(7NOT NULL default '0',
      `
    tanvarchar(32NOT NULL default '',
      `
    bisvarchar(10NOT NULL default '',
      
    KEY `bis` (`ip`,`bis`)
    ENGINE=MyISAM DEFAULT CHARSET=latin1
    Folgende bettel.php verwenden um die reloads auch in die richtige tabelle zu schreiben.
    PHP-Code:
    <?
    $_GET['ref'] = (int)$_GET['ref'];


    if ($pageconfig['reload_betteln'] == 0){
    $betteltext = '<b>Die Bettelfunktion ist auf dieser Seite deaktiviert';
    }else{
       if ($_SESSION['uid'] == $_GET['ref'] || $_GET['ref'] == $_COOKIE['uid']){
       $betteltext = '<b><font color="#FF0000">Du kannst dich nicht selbst anbetteln!</font></b>';
       }else{
          $reloadcheck = db_query("SELECT bis FROM ".$db_prefix."_reloads_betteln WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= ".time()." LIMIT 1");

          if (!mysql_num_rows($reloadcheck)) {
             $minimum        = $pageconfig['min_betteln'];
             $maximum        = $pageconfig['max_betteln'];
             srand((double)microtime()*1000000);
             $bettelsumme    = rand($minimum*100,$maximum*100)/100;
             $new_reload = time()+$pageconfig['reload_betteln'];
             db_query("INSERT INTO ".$db_prefix."_reloads_betteln (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
             db_query("UPDATE ".$db_prefix."_kontodaten  SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme.", kontostand = kontostand + '".$bettelsumme."' WHERE uid = '".$_GET['ref']."'");

             refumsatz ($bettelsumme,$_GET['ref']);
             aktivralley ($bettelsumme,$_GET['ref']);
             bilanz(0,$bettelsumme);   
             $betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>';
         } else {
         $reloadcheck = mysql_fetch_array($reloadcheck);
         $betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>';
         }
       }
    }
    ?>

    <?head("Betteln auf ".$seitenname);?>
    Verdiene auch Du mit!<br>
    Melde Dich bei <?=$seitenname;?> an und bewirbe Deinen persönlichen Bettellink, so
    verdienst Du deine <?=$waehrung;?> fast wie im Schlaf!<br>
    <br>
    <div align="center"><?=$betteltext;?></div>
    <?foot();?>

    <?
    $filename = 'lib/texte/bettelwerbung.txt';
    $fp = fopen ($filename, "r");
    $inhalt = fread ($fp, filesize ($filename));
    fclose ($fp);
    $inhalt = str_replace('\\', '', $inhalt);

    if ($inhalt != ''){
    head("Werbung dieser Seite");
    echo nl2br($inhalt);
    foot();
    }
    ?>
    Ich nutze den Firefox nur um Opera Google Chrome runterzuladen

  2. #2
    Erfahrener Benutzer Avatar von FLash
    Registriert seit
    10.01.2008
    Beiträge
    122
    habs bei mir nu auch geändert.. danke

  3. #3
    Auch wenn der Post gute 1,5 Jahre alt ist, wie sehe hierfür die Funktion zum löschen der Reloads aus?

    oder werden die selbständig aus der DB entfernt?

    PHP-Code:
    <? db_query ("DELETE FROM ´vms_reloads_betteln´ WHERE bis <= ".(time()));
    ?>
    So?

  4. #4
    Neuer Benutzer
    Registriert seit
    03.11.2006
    Beiträge
    18
    das steht glaub ich in der content/betteln.php oben generell mit drin..

    LG

Ähnliche Themen

  1. [S] Erweiterte V-check
    Von didith1207 im Forum Scripte
    Antworten: 8
    Letzter Beitrag: 01.03.2008, 16:16
  2. erweiterte Bilanzfunktionen gesucht
    Von Systemlord im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 18.02.2008, 21:20
  3. erweiterte Verdienstanzeige
    Von scirocco im Forum Support zu Addons & Erweiterungen
    Antworten: 9
    Letzter Beitrag: 07.10.2007, 20:56
  4. DBlastiges VMS und Optimierung
    Von mastermix im Forum Support zum VMSone
    Antworten: 7
    Letzter Beitrag: 13.07.2007, 17:32
  5. Optimierung des VMS
    Von Mason1 im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 21.01.2007, 15:04

Berechtigungen

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