*** hier kann zu... Danke ***

SPEEDY-VL

www.back4ever.de
ID: 258467
L
1 Oktober 2006
1.479
100
Hi,

habe folgenden (Original) Code:

PHP:
<?
$bannerholen = mysql_query("SELECT tan,banner,reload,verdienst,sponsor FROM ".$prefix."_werbung WHERE menge >= 1 && werbeart = 'forced' ORDER by RAND() LIMIT 10");
 
 $i = '0';
 while($banner = mysql_fetch_array($bannerholen)){
 
 $im_rl = mysql_query("SELECT bis FROM ".$prefix."_reloads WHERE tan = '".$banner['tan']."' && (uid = '".$_SESSION['uid']."' || ip = '".$_SERVER['REMOTE_ADDR']."') LIMIT 1");
  if (!mysql_num_rows($im_rl)){
 $i = $i+1;
 echo '<div id="banner_'.$i.'" align="center"><a href="klick4.php?tan='.$banner['tan'].'" target="_blank" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"><img src="'.$banner['banner'].'" border="0" width="468" height="60"></a><br><b>Vergütung: '.$banner['verdienst'].' Punkte - Reload: '.number_format($banner['reload']/60/60).' Std.</b><br><br></div>';
  }
 }
if ($i <= 0){ echo '<p align="center"><b><font color="red">Alle Banner im Reload</b></font></p>'; }
?>

wenn ich diesen nun abändere (siehe Zeile 2) in:

PHP:
<?
$bannerholen = mysql_query("SELECT tan,banner,reload,verdienst,sponsor FROM ".$prefix."_werbung WHERE menge >= 1 && werbeart = 'forced' ORDER by verdienst ASC LIMIT 10");
 
 $i = '0';
 while($banner = mysql_fetch_array($bannerholen)){
 
 $im_rl = mysql_query("SELECT bis FROM ".$prefix."_reloads WHERE tan = '".$banner['tan']."' && (uid = '".$_SESSION['uid']."' || ip = '".$_SERVER['REMOTE_ADDR']."') LIMIT 1");
  if (!mysql_num_rows($im_rl)){
 $i = $i+1;
 echo '<div id="banner_'.$i.'" align="center"><a href="klick4.php?tan='.$banner['tan'].'" target="_blank" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"><img src="'.$banner['banner'].'" border="0" width="468" height="60"></a><br><b>Vergütung: '.$banner['verdienst'].' Punkte - Reload: '.number_format($banner['reload']/60/60).' Std.</b><br><br></div>';
  }
 }
if ($i <= 0){ echo '<p align="center"><b><font color="red">Alle Banner im Reload</b></font></p>'; }
?>

(alternativ auch ORDER by sponsor ASC)

werden zwar die Banner zuerst angezeigt (die ersten 10) danach werden aber keine neuen mehr geladen.

Woran liegt das?

MfG

SPEEDY-VL
 
Zuletzt bearbeitet:
So ganz verstehe ich das Problem nicht.

Meinst du vielleicht sowas?
Code:
ORDER by RAND(), verdienst ASC
LIMIT 10
(zuerst 10 zufällige und diese dann sortieren)

oder
Code:
ORDER by verdienst ASC
LIMIT 11, 20
(falls auf einer zweiten Seite mit den zweiten 10 gearbeitet werden soll)

danach werden aber keine neuen mehr geladen.
Was meinst du damit?
 
hi,

es sind ungefähr 150 banner derzeit im system...

bei der sortierung im ORDER by verdienst ASC LIMIT 10

werden zuerst 10 Banner mit der richtigen Sortierung ausgegeben... Um dann neue zu erhalten muß man entweder auch den Buuton "Reload" oder eben nochmal auf den Link klicken. Es werden aber keine neuen / weiteren Banner (müßten dann ja noch ca. 140 im System sein) angezeigt..

Ich hoffe du verstehst mich...
 
Ja ich glaube nun weiß ich was du meinst. Dafür musst du doch aber irgendwo registrieren, wann welcher User auf welchen Banner geklickt hat, um zu überprüfen, ob die Reloadsperre noch aktiv ist.

Code:
SELECT tan,banner,reload,verdienst,sponsor 
FROM ".$prefix."_werbung 
WHERE menge >= 1 
          AND 
          werbeart = 'forced' 
[COLOR="Red"]          AND
          reloadsperre = 0[/COLOR]
ORDER by verdienst ASC 
LIMIT 10
Das wird aber nicht so ganz einfach gehen, da die Reloadsperre ja userbezogen ist. Daher müsstest du wohl einen Join auf die Tabelle machen, in der die Reloadsperren stehen. Ich kenne jetzt die Tabellenstruktur nicht, daher könnte ich da nur raten.

Also sag mal wo/wie du die Reloadsperren speicherst und welche Spaltenüberschriften es in dieser Tabelle gibt?
 
das ist richtig... die setzung der reloadzeit wird in einer anderen datei ausgeführt mit folgendem befehl:

PHP:
$neureload = $kampagne['reload']+time();
mysql_query("INSERT INTO ".$prefix."_reloads (ip,tan,bis) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_GET['tan']."','".$neureload."')");

Die Tabelle heißt nun wie ersichtlich _reloads und die Spalten heißen:

ip,uid,tan,bis

mfg
 
wasn das für nen scheiß script?

versuchs mal so:
PHP:
SELECT
	werbung.tan,
	werbung.banner,
	werbung.reload,
	werbung.verdienst,
	werbung.sponsor
FROM
	".$prefix."_werbung AS werbung LEFT JOIN
	".$prefix."_reloads AS reloads ON (reloads.tan = werbung.tan && (reloads.uid = '".$_SESSION['uid']."' || reloads.ip = '".$_SERVER['REMOTE_ADDR']."')	
WHERE	
	werbung.menge >= 1 && 
	werbung.werbeart = 'forced' &&
	reloads.tan IS NULL
ORDER BY
	RAND()
LIMIT 10

wenn ich jetzt kein denk fehler hab sollte es das machen was du willst...
 
sorry wenn ich das jetzt frage, aber:

was muß noch angepasst werden?

denn nun bekomme ich den text "alle banner im reload"

bin selber leider nicht fit in php

----

bereits geändert -> ORDER by verdienst ASC
 
sollte dann so aussehen:
PHP:
$result = mysql_query(der query);
while($banner = mysql_fetch_assoc($result)) {
$i++;
echo '<div id="banner_'.$i.'" align="center"><a href="klick4.php?tan='.$banner['tan'].'" target="_blank" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"><img src="'.$banner['banner'].'" border="0" width="468" height="60"></a><br><b>Vergütung: '.$banner['verdienst'].' Punkte - Reload: '.number_format($banner['reload']/60/60).' Std.</b><br><br></div>';
}
 
es tut mir leid es wird immernoch alle banner im reload angezeigt :-?

hier mal der ganze code:

PHP:
<?
$result = mysql_query("SELECT 
    werbung.tan, 
    werbung.banner, 
    werbung.reload, 
    werbung.verdienst, 
    werbung.sponsor 
FROM 
    ".$prefix."_werbung AS werbung LEFT JOIN 
    ".$prefix."_reloads AS reloads ON (reloads.tan = werbung.tan && (reloads.uid = '".$_SESSION['uid']."' || reloads.ip = '".$_SERVER['REMOTE_ADDR']."')     
WHERE     
    werbung.menge >= 1 &&  
    werbung.werbeart = 'forced' && 
    reloads.tan IS NULL 
ORDER BY 
    verdienst ASC 
LIMIT 10");
while($banner = mysql_fetch_assoc($result)) {
$i++;
echo '<div id="banner_'.$i.'" align="center"><a href="klick4.php?tan='.$banner['tan'].'" target="_blank" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"><img src="'.$banner['banner'].'" border="0" width="468" height="60"></a><br><b>Vergütung: '.$banner['verdienst'].' Punkte - Reload: '.number_format($banner['reload']/60/60).' Std.</b><br><br></div>';
}
if ($i <= 0){ echo '<p align="center"><b><font color="red">Alle Banner im Reload</b></font></p>'; }
?>
<form action="?page=member/k4p" method="POST">
<center><input type="submit" value="Reload"></center>
</form>

wahrscheinlich hab ich irgendwas falsch gemacht...
 
Zuletzt bearbeitet:
PHP:
<?
$result = mysql_query("SELECT 
    werbung.tan, 
    werbung.banner, 
    werbung.reload, 
    werbung.verdienst, 
    werbung.sponsor 
FROM 
    ".$prefix."_werbung AS werbung LEFT JOIN 
    ".$prefix."_reloads AS reloads ON (reloads.tan = werbung.tan && (reloads.uid = '".$_SESSION['uid']."' || reloads.ip = '".$_SERVER['REMOTE_ADDR']."')     
WHERE     
    werbung.menge >= 1 &&  
    werbung.werbeart = 'forced' && 
    reloads.tan IS NULL 
ORDER BY 
    verdienst ASC 
LIMIT 10");
while($banner = mysql_fetch_assoc($result)) {
   $i++;
   echo '<div id="banner_'.$i.'" align="center"><a href="klick4.php?tan='.$banner['tan'].'" target="_blank" onClick="document.getElementById(\'banner_'.$i.'\').style.display=\'none\';"><img src="'.$banner['banner'].'" border="0" width="468" height="60"></a><br><b>Vergütung: '.$banner['verdienst'].' Punkte - Reload: '.number_format($banner['reload']/60/60).' Std.</b><br><br></div>';
}

if ($i <= 0) { 
   echo '<p align="center"><b><font color="red">Alle Banner im Reload</b></font></p>'; 
}
?>
<form action="?page=member/k4p" method="POST">
<center><input type="submit" value="Reload"></center>
</form>

*edit
Soweit ich weiß gehört das auch in :arrow: Scripts/Software, weil das stark nach VMS aussieht.

Und wenn mich nicht alles täuscht ist $_SESSION['uid'] die Klammid in dem fall ist ein kein String und sollte im Query dementsprechend ohne ' im Query gehandelt werden.
 
Zuletzt bearbeitet:
Soweit ich weiß gehört das auch in :arrow: Scripts/Software, weil das stark nach VMS aussieht. Und wenn mich nicht alles täuscht ist $_SESSION['uid'] die Klammid in dem fall ist ein kein String und sollte im Query dementsprechend ohne ' im Query gehandelt werden.

Es ist weder VMS (soviel ich weiß, ist selbst programmiert (nicht von mir ;) )) und uid ist keine klamm-id
 
nein kein error... nur das normale bild allerdings ohne banner :biggrin:

und die ausgabe "alle im reload"

dann sind vielleicht bei dir die fehlermeldungen aus... aber da fehlt definitiv ne klammer am ende.
PHP:
   ".$prefix."_reloads AS reloads ON (reloads.tan = werbung.tan && (reloads.uid = '".$_SESSION['uid']."' || reloads.ip = '".$_SERVER['REMOTE_ADDR']."')
da muss )) am ende stehen.
 
...hat sich hier erledigt...

wird im neuen thread weiter geführt... ist ein anderer fehler
 
Zuletzt bearbeitet: