dann am besten einen neuen Hoster suchen !!! wenn das alles nicht hilft.Zitat:
Original von Baumeister
Ok der index in den Tabellen ist gesetzt.
Überhang ist weg.
Trozdem nicht schneller
Hilfe
Druckbare Version
dann am besten einen neuen Hoster suchen !!! wenn das alles nicht hilft.Zitat:
Original von Baumeister
Ok der index in den Tabellen ist gesetzt.
Überhang ist weg.
Trozdem nicht schneller
Hilfe
Du hast noch den "normalen" Klick4Bereich drin, das datenbankabfragenfressende-etwas :D so wie er bei dir ist, benötigt er
MaxBanner+1 Abfragen bei jedem aktualisieren ;) Hier ist eine klick4.php welche das mit einer Abfrage löst... das dürfte alles nochmal enorm schneller machen.. :)
*edit*
Code nun auf Seite 2
Gruß
Gremlin
eingebaut , getestet und siehe da.................... kein banner :(
Jup, hatte nen kleinen Denkfehler drin.... hier nun der richtige Code, bitte trotzdem vorher ein Backup machen, ich habe ihn nur hier local getestet...Zitat:
Original von dude32
eingebaut , getestet und siehe da.................... kein banner :(
PHP-Code:
<?
userstatus();
head("Paidbanner");
$usr = mysql_fetch_array(db_query("SELECT `max_forced` FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
$fbanner = 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.verdienst > 0 and t1.sponsor != '".$_SESSION['uid']."' AND t2.tan IS NULL ORDER BY verdienst DESC LIMIT ".$usr['max_forced']."");
while($f_banner=mysql_fetch_array($fbanner)){
echo '<div align="center" id="banner_'.$x_banner.'"><a href="fc.php?tan='.$f_banner['tan'].'" target="_blank"><img src="'.$f_banner['banner'].'" border="0" 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++;
}
echo '<div align="center"><form action="" method="post"><input type="Submit" name="mehr_banner" value="Weitere Banner !"></form></div>';
foot();
?>
Hallo
Habe den Code mal eingebaut und getestet.
Funktioniert sehr gut bis auf ein Problem.
Es sind immer von den 20 Bannern 6 bis 7 nicht zu sehen.
Sie sind zwar da man kann sie auch klicken aber zusehen ist eben nichts.
MFG
Das liegt aber dann nicht an dem php Code, denn sie werden einfach per <img src=""> wie gewöhnlich eingebunden ^^
Gruß
Gremlin
Zitat:
Original von Gremlin
Das liegt aber dann nicht an dem php Code, denn sie werden einfach per <img src=""> wie gewöhnlich eingebunden ^^
Gruß
Gremlin
Hallo
Dein Code funktioniert perfekt. War nur bei mir ein Problem mit meinem Browser.
Also dankeschön für den Code.
MFG
So geht es schon mal super schnell.Zitat:
Original von Gremlin
Jup, hatte nen kleinen Denkfehler drin.... hier nun der richtige Code, bitte trotzdem vorher ein Backup machen, ich habe ihn nur hier local getestet...Zitat:
Original von dude32
eingebaut , getestet und siehe da.................... kein banner :(
PHP-Code:
<?
userstatus();
head("Paidbanner");
$usr = mysql_fetch_array(db_query("SELECT `max_forced` FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
$fbanner = 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.verdienst > 0 and t1.sponsor != '".$_SESSION['uid']."' AND t2.tan IS NULL ORDER BY verdienst DESC LIMIT ".$usr['max_forced']."");
while($f_banner=mysql_fetch_array($fbanner)){
echo '<div align="center" id="banner_'.$x_banner.'"><a href="fc.php?tan='.$f_banner['tan'].'" target="_blank"><img src="'.$f_banner['banner'].'" border="0" 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++;
}
echo '<div align="center"><form action="" method="post"><input type="Submit" name="mehr_banner" value="Weitere Banner !"></form></div>';
foot();
?>
Nur das ich jetzt das pro. habe das mein Bonus nicht mehr gezalt wird und auch die Anzeige verschwunden ist.
Gremlin wo kann o. wie kann ich denn Code von dir einsetzt so das er da rein passt.
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;
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 '<div align="center"><font color="#FF0000"><b>Alle Forcedbanner im Reload !</b></font>';
Möchte mich hier mal anschließen. Also lädt bei mir leider auch lange. Habe alles gemacht, außer:
CREATE INDEX tan_werbeart_status ON vms_gebuchte_werbung(tan,werbeart,status);
CREATE INDEX menge_werbeart_status_uid ON vms_gebuchte_werbung(menge,werbeart,status,uid);
CREATE INDEX werbeart_verdienst ON vms_gebuchte_werbung(werbeart,verdienst);
CREATE INDEX werbeart_verdienst ON vms_gebuchte_werbung(werbeart,verdienst);
CREATE INDEX werbeart_status ON vms_gebuchte_werbung(werbeart,status);
CREATE INDEX werbeart_menge ON vms_gebuchte_werbung(werbeart,menge);
CREATE INDEX reload_werbeart ON vms_gebuchte_werbung(reload,werbeart);
CREATE INDEX sponsor_werbeart ON vms_gebuchte_werbung(sponsor,werbeart);
Wenn ich das ausführe kommt:
#1061 - Duplicate key name 'tan_werbeart_status'
Einfach weglassen, da du bereits einen Index mit dem Namen tan_werbeart_status erstellt hast ^^Zitat:
CREATE INDEX tan_werbeart_status ON vms_gebuchte_werbung(tan,werbeart,status);
@Baumeister
Welchen Bonus meinst du?
Die Statistik braucht nur unnötige DB Abfrage ;) aber kann ich bei Bedarf gerne auch noch dazumachen ;)