PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Forcedbanner laden sehr lange & jeder 1. Forcedbanner doppelt



Rallef
26.03.2008, 19:22
Hallo,

ich habe Probleme mit meinem Forcedbanner-Bereich.

Zum Einen läd der Bereich sehr lange - andere Seitenbereiche laden wesentlich schneller, wie z.B. Paidlinks, HF-Banner etc. - obwohl ich nur 5 Banner anzeigen lasse.

Zum Anderen ist jeder 1. Forcedbanner doppelt vorhanden, es sind also nicht 5 sonder 6 Forcedbanner die angezeigt werden, weil der 1. (egal welcher es ist) immer doppelt ist. Vergütet wird nur einer von beiden.

Ich habe das VMS 1.2.2 und IF's von Scripte4Webbis.de eingebaut

Woran kann das liegen und was kann ich dagegen tun?

Rallef
27.03.2008, 16:12
Hat keiner ne Idee?

Vielleicht könnte ja auch mal jemand drüberschauen bei mir

Hardy
27.03.2008, 16:22
Wie sehen die indexe aus speziel in der tabelle reloads?wird viel gebettelt?werden per cron die abgelaufene reloads gelöscht und die datenbank tabellen optimiert

Rallef
27.03.2008, 17:39
Meinst du mit dem Index der vms_reloads das hier?

http://www.x-vitalis.de/1.jpg

Gebettelt wird kaum, hab noch kaum User drauf

Einen speziellen Cron zum Reloads löschen hab ich nicht (zumindest hab ich keinen gesehen)
Ich hab halt die IF's von Scripte4Webbis.de drin, ob da sowas schon mit dabei ist, kann ich nicht sagen

Woher bekomm ich denn so einen Cron, der dann auch im vms 1.2.2 läuft?

Hardy
27.03.2008, 18:05
über 600 MB daten an reloads also das ist auf jedenfall zu viel!
http://www.designerscripte.net/downloads.php?do=file&id=69
das sollte schon mal helfen

Rallef
27.03.2008, 18:13
Beim einspielen in die DB von dem db_optimize v2.1 kommt mir da folgender Fehler


Fehler

SQL-Befehl:

INSERT INTO `vms_crons` ( `cron` , `intervall` , `laufzeit` , `datei` , `bezeichnung` )
VALUES (
'ext_cron', '0', '0', 'crons/db_optimize.php', 'Datenbank optimieren'
);

MySQL meldet: Dokumentation
#1054 - Unknown column 'intervall' in 'field list'

Rallef
27.03.2008, 18:32
OK, hab mal bisl im Forum gestöbert und bin auf diesen Thread gestossen

http://www.designerscripte.net/showthread.php?t=4358&highlight=reloads

Habs so gemacht und der Index sieht jetzt so aus:

http://www.x-vitalis.de/2.jpg

Die Forcedbanner öffnen sich immernoch etwas langsam, aber schon schneller als zuvor

Der erste Banner ist aber nach wie vor doppelt drin

Hardy
27.03.2008, 18:38
Was hast du denn für eine klick4.php?

Rallef
27.03.2008, 18:44
Die klick4.php sieht bei mir so aus



<?
userstatus ();
head ('Paidbanner');






$fstats_gesamt = mysql_fetch_array(db_query("SELECT COUNT(tan) AS ganzahl, SUM(verdienst) AS gverdienst, SUM(aufendhalt) AS gaufenthalt FROM ".$db_prefix."_gebuchte_werbung WHERE werbeart = 'forcedbanner' AND menge > 0 AND status = 1 AND verdienst > 0 AND sponsor != '".$_SESSION['uid']."'")) OR die(mysql_error());
$fstats_uebrig = mysql_fetch_array(db_query("SELECT COUNT(t1.tan) AS uanzahl, SUM(t1.verdienst) AS uverdienst FROM ".$db_prefix."_gebuchte_werbung AS t1 LEFT OUTER JOIN ".$db_prefix."_reloads AS t2 ON (t2.tan = t1.tan AND (t2.uid = ".$_SESSION['uid']." OR t2.ip = '".$ip."') AND t2.bis >= '".time()."') WHERE t2.tan IS NULL AND t1.werbeart = 'forcedbanner' AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '".$_SESSION['uid']."'")) OR die(mysql_error());

echo '
<center>
<table cellspacing="4" cellpadding="0">
<tr>
<td align="center">Paidlinks gesamt: '.$fstats_gesamt['ganzahl'].'</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Paidlinks uebrig: '.$fstats_uebrig['uanzahl'].'</td>
</tr>
<tr>
<td align="center">Ø Aufenthalt: '.number_format($fstats_gesamt['gaufenthalt']/$fstats_gesamt['ganzahl'],2,',','.').' Sekunden</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Ø Vergütung: '.number_format($fstats_gesamt['gverdienst']/$fstats_gesamt['ganzahl'],2,',','.').' '.$waehrung.'</td>
</tr>
<tr>
<td align="center">Gesamtwert: '.$fstats_gesamt['gverdienst'].' '.$waehrung.'</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Offen: '.$fstats_uebrig['uverdienst'].' '.$waehrung.'</td>
</tr>
</table>
</center>
<hr>';







$usr = mysql_fetch_assoc (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.'") AND t2.bis >= '.time().')
WHERE t2.tan IS NULL AND t1.werbeart = "forcedbanner" AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '.$_SESSION['uid'].' ORDER BY t1.verdienst DESC LIMIT '.$usr['max_forced'].'');

while ($f_banner = mysql_fetch_assoc ($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="" 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>';







$forcedbanner = db_query("SELECT * 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($forcedbanner)){
$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 (mysql_num_rows ($fbanner) > 0) echo '<div align="center"><input type="button" name="mehr_banner" value="Weitere Banner !" onclick="javascript:location.reload();" /></div>';
else echo '<div style="text-align: center; font-weight: bold; color: #ff0000;">Alle Banner im Reload !</div>';

foot ();
?>

Hardy
27.03.2008, 19:07
Ich weis ja nicht wer das verzapft hat.
Also die standartmäßige klick4 sieht so aus:


<?
userstatus ();

head ('Paidbanner');

$usr = mysql_fetch_assoc (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.'") AND t2.bis >= '.time().')
WHERE t2.tan IS NULL AND t1.werbeart = "forcedbanner" AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '.$_SESSION['uid'].' ORDER BY t1.verdienst DESC LIMIT '.$usr['max_forced'].'');

while ($f_banner = mysql_fetch_assoc ($fbanner)){
echo '<div align="center" id="banner_'.$f_banner['tan'].'"><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_'.$f_banner['tan'].'\').style.display=\'none\';"></a>'
. '<br>Reload:'. $f_banner['reload']/3600 .' Std. | Verdienst: '.number_format($f_banner['verdienst'],2,',','.').' | Aufenthalt: '.$f_banner['aufendhalt'].' Sekunden<br><br></div>';
}

if (mysql_num_rows ($fbanner) > 0) echo '<div align="center"><input type="button" name="mehr_banner" value="Weitere Banner !" onclick="javascript:location.reload();" /></div>';
else echo '<div style="text-align: center; font-weight: bold; color: #ff0000;">Alle Banner im Reload !</div>';

foot ();
?>

Die statistik sieht soweit ok allerdings müssen da auch einige indexe gesetzt werden damit das ganze richtig läuft.
Erst einmal die standart klick4 mit deiner statistik:


<?
userstatus ();
head ('Paidbanner');

$usr = mysql_fetch_assoc (db_query ('SELECT max_forced FROM '.$db_prefix.'_userdaten WHERE uid = '.$_SESSION['uid'].' LIMIT 1'));
$fstats_gesamt = mysql_fetch_array(db_query("SELECT COUNT(tan) AS ganzahl, SUM(verdienst) AS gverdienst, SUM(aufendhalt) AS gaufenthalt FROM ".$db_prefix."_gebuchte_werbung WHERE werbeart = 'forcedbanner' AND menge > 0 AND status = 1 AND verdienst > 0 AND sponsor != '".$_SESSION['uid']."'")) OR die(mysql_error());
$fstats_uebrig = mysql_fetch_array(db_query("SELECT COUNT(t1.tan) AS uanzahl, SUM(t1.verdienst) AS uverdienst FROM ".$db_prefix."_gebuchte_werbung AS t1 LEFT OUTER JOIN ".$db_prefix."_reloads AS t2 ON (t2.tan = t1.tan AND (t2.uid = ".$_SESSION['uid']." OR t2.ip = '".$ip."') AND t2.bis >= '".time()."') WHERE t2.tan IS NULL AND t1.werbeart = 'forcedbanner' AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '".$_SESSION['uid']."'")) OR die(mysql_error());

echo '
<center>
<table cellspacing="4" cellpadding="0">
<tr>
<td align="center">Forcedbanner gesamt: '.$fstats_gesamt['ganzahl'].'</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Forcedbanner uebrig: '.$fstats_uebrig['uanzahl'].'</td>
</tr>
<tr>
<td align="center">Ø Aufenthalt: '.number_format($fstats_gesamt['gaufenthalt']/$fstats_gesamt['ganzahl'],2,',','.').' Sekunden</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Ø Vergütung: '.number_format($fstats_gesamt['gverdienst']/$fstats_gesamt['ganzahl'],2,',','.').' '.$waehrung.'</td>
</tr>
<tr>
<td align="center">Gesamtwert: '.$fstats_gesamt['gverdienst'].' '.$waehrung.'</td>
<td>&nbsp;&nbsp;</td>
<td align="center">Offen: '.$fstats_uebrig['uverdienst'].' '.$waehrung.'</td>
</tr>
</table>
</center>
<hr>';
$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.'") AND t2.bis >= '.time().')
WHERE t2.tan IS NULL AND t1.werbeart = "forcedbanner" AND t1.menge > 0 AND t1.status = 1 AND t1.verdienst > 0 AND t1.sponsor != '.$_SESSION['uid'].' ORDER BY t1.verdienst DESC LIMIT '.$usr['max_forced'].'');

while ($f_banner = mysql_fetch_assoc ($fbanner)){
echo '<div align="center" id="banner_'.$f_banner['tan'].'"><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_'.$f_banner['tan'].'\').style.display=\'none\';"></a>'
. '<br>Reload:'. $f_banner['reload']/3600 .' Std. | Verdienst: '.number_format($f_banner['verdienst'],2,',','.').' | Aufenthalt: '.$f_banner['aufendhalt'].' Sekunden<br><br></div>';
}

if (mysql_num_rows ($fbanner) > 0) echo '<div align="center"><input type="button" name="mehr_banner" value="Weitere Banner !" onclick="javascript:location.reload();" /></div>';
else echo '<div style="text-align: center; font-weight: bold; color: #ff0000;">Alle Banner im Reload !</div>';

foot ();
?>

Ein index müsste dann in reloads über tan,uid,ip
und in vms_gebuchte_werbung über tan

Rallef
27.03.2008, 19:15
Also mit deiner klick4 läufts einwandfrei, vielen dank.

Ich muss mal schauen, ob das von irgendwelchen Addons noch was war, was da noch alles drin war - aber die FB laufen so zumindest wieder einwandfrei.


Das hier hab ich jetzt aber nicht verstanden:


Ein index müsste dann in reloads über tan,uid,ip
und in vms_gebuchte_werbung über tan


Muss ich das noch reinmachen oder was meinste da jetzt?

Hardy
27.03.2008, 19:22
Normal sollte das schon so sein wenn nciht musst es noch machen

Tommyzero
19.06.2009, 13:13
hab ähnliches problem hab ajax klickbereich und die paidbanner laden ziemlich lange die ersten user beschweren sich schon ich finde aber keine fehler. kann es an forced_banner liegen? oder nur an das von ajax obwohl ich da nix groß geändert hab außer die bannersotierung.

Tommyzero
21.06.2009, 10:13
also das hab ich bisher geprüft ,ajax komplett neu rein gemacht(geschwindikeit bleibt gleich) , fc.php ist korrekt, topframe_forced find ich auch nix, header.php sieht seltsam aus.

jpwfour
21.06.2009, 12:08
Was sieht an der header.php seltsam aus?

Meistens liegt ja lange Ladezeit einfach nur an den Werbenetzwerken...

Schmuse_Kater40
21.06.2009, 13:48
also das hab ich bisher geprüft ,ajax komplett neu rein gemacht(geschwindikeit bleibt gleich) , fc.php ist korrekt, topframe_forced find ich auch nix, header.php sieht seltsam aus.

Die header.php kann aber nicht für die langen Ladezeiten verantwortlich sein, da diese Datei beim Ajax Klickbereich nicht jedesmal neu geladen wird sondern ausschliesslich der Klickbereich. Ich vermute auch mal das es einzig und alleine an den Werbenetzwerken liegt. Mit ist das nämlich auch schon seit ein paar Tagen aufgefallen das die Banner nicht gerade schnell laden.

Tommyzero
21.06.2009, 15:08
okay habe es so an die user weiter gegeben

Rallef
25.06.2009, 19:17
Du kannst es ja mal im Adminbereich testen, wenn dir dort die eingebuchten Banner der Sponsoren angezeigt werden.

Lass dir einfach mal die Banner der einzelnen Sponsoren anzeigen und dann kannst du vielleicht sehen, bei welchem Sponsor es hängt.