Ich habe eine Datenbank, in der stehen folgende Felder: banID, userID, esepuid, enddate, endtime, grund - Die Datenbank wird ausgelesen, und bei einem Eintrag werden die Informationen mit einem Mouseover ausgegeben und der Spieler als gesperrt angezeigt. Funktioniert soweit auch.
ABER
Wenn jemand 2 mal, oder öfter geloggt wurde, und die esepuid demzufolge 2 mal angezeigt wird, dann wird er nicht mehr als gesperrt angezeigt. Nun habe ich mir überlegt, das eigentlich in der SQL Abfrage
eigentlich nur der neuste Eintrag abgerufen wurden muss, da auch die aktuelle Bandauer angezeigt wird. Nur wie kann ich, dies in der SQL-Abfrage abfragen?
Die PHP dazu sieht folgendermaßen aus:
## EDIT ##
Hat sich erledigt! Hab nicht nachgedacht^^ Ich habe nun einfach "ORDER BY date DESC" hinzugefügt
Manchmal sieht man den Wald vor lauter Bäumen nicht!
ABER
Wenn jemand 2 mal, oder öfter geloggt wurde, und die esepuid demzufolge 2 mal angezeigt wird, dann wird er nicht mehr als gesperrt angezeigt. Nun habe ich mir überlegt, das eigentlich in der SQL Abfrage
PHP:
$ergebnis=safe_query("SELECT enddate, esepuid, grund FROM ".PREFIX."user_banlist WHERE userID='$id' ");
if(mysql_num_rows($ergebnis)){
$ds=mysql_fetch_array($ergebnis);
}
$ergebnis=safe_query("SELECT enddate, esepuid, grund FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");
if(mysql_num_rows($ergebnis)){
$ds=mysql_fetch_array($ergebnis);
}
eigentlich nur der neuste Eintrag abgerufen wurden muss, da auch die aktuelle Bandauer angezeigt wird. Nur wie kann ich, dies in der SQL-Abfrage abfragen?
Die PHP dazu sieht folgendermaßen aus:
PHP:
//...
]// clanname, clanhp, clantag, clanfunktion (leader oder member) tonacht
$ton8ergebnis=safe_query("SELECT * FROM ".PREFIX."user WHERE userID='$id' ");
$ds=mysql_fetch_array($ton8ergebnis);
$ton8clannr_sql = safe_query("SELECT function, userID, clanID FROM ".PREFIX."cup_clan_members WHERE userID = '".$ds['userID']."'");
if(mysql_num_rows($ton8clannr_sql)){
$num=1;
while($db=mysql_fetch_array($ton8clannr_sql)){
if($num==1)
$ton8clannr=''.$db['clanID'];
if($num==1)
$ton8funktion=' '.$db['function'];
$ergebnis = safe_query("SELECT * FROM ".PREFIX."cup_all_clans WHERE ID = $ton8clannr");
while($ds=mysql_fetch_array($ergebnis)) {
$ton8clanname = '<a href="index.php?site=clans&action=show&clanID='.$ton8clannr.'">'.$ds[name].'</a>';
$ton8clantag = $ds[clantag];
$ton8clanhp = '<a target="_blank" href="'.$ds[clanhp].'">'.$ds[clanhp].'</a>';
$ton8status='<font title="Dieser Spieler ist spielberechtigt!">[AKTIVER SPIELER]</font>';}
}
}else{
$ton8clantag='n/a';
$ton8clanhp='n/a';
$ton8clanname='keinem Team gejoint';
$ton8funktion='n/a';
$ton8status='<font title="Dieser Spieler ist keinem Team gejoint!">[INAKTIVER SPIELER]</font>';}
// ese puid, eseban tonacht, banlist
$ergebnisdw=safe_query("SELECT userID FROM ".PREFIX."user WHERE userID='$id' ");
$dw=mysql_fetch_array($ergebnisdw);
$gameacc_sql = safe_query("SELECT type, value FROM ".PREFIX."user_gameacc WHERE userID = '".$dw['userID']."'");
if(mysql_num_rows($gameacc_sql)){
$num=1;
while($db=mysql_fetch_array($gameacc_sql)){
$ergebnis=safe_query("SELECT userID, esepuid FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");
$sql_id=mysql_fetch_array($ergebnis);
$ergebnis=safe_query("SELECT enddate, esepuid, grund FROM ".PREFIX."user_banlist WHERE userID='$id' ");
if(mysql_num_rows($ergebnis)){
$ds=mysql_fetch_array($ergebnis);
}
$ergebnis=safe_query("SELECT enddate, esepuid, grund FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");
if(mysql_num_rows($ergebnis)){
$ds=mysql_fetch_array($ergebnis);
}
if($ds['grund']== '0') $bangrund = 'Generic Base Injection Type \'X\'';
if($ds['grund']== '0') $bandauer = '365';
if($ds['grund']== '1') $bangrund = 'Generic Radar Typ \'X\'';
if($ds['grund']== '1') $bandauer = '365';
if($ds['grund']== '2') $bangrund = 'using incorrect Cpu-Speed Parameter';
if($ds['grund']== '2') $bandauer = '20';
if($ds['grund']== '3') $bangrund = 'blacklisted and altered file \'Amb*\'';
if($ds['grund']== '3') $bandauer = '20';
if($ds['grund']== '4') $bangrund = 'Modified Render Class';
if($ds['grund']== '4') $bandauer = '365';
if($ds['grund']== '5') $bangrund = 'Altered Engine Class';
if($ds['grund']== '5') $bandauer = '365';
if($ds['grund']== '6') $bangrund = 'Modified Engine Class';
if($ds['grund']== '6') $bandauer = '20';
if($ds['grund']== '7') $bangrund = 'Altered Engine Class - \'X\'';
if($ds['grund']== '7') $bandauer = '20';
if($ds['grund']== '8') $bangrund = 'Missing Package DLL';
if($ds['grund']== '8') $bandauer = '20';
if($ds['grund']== '9') $bangrund = 'Missing Package Handle';
if($ds['grund']== '9') $bandauer = '20';
if($ds['grund']== '10') $bangrund = 'Unknown Package DLL';
if($ds['grund']== '10') $bandauer = '20';
if($ds['grund']== '11') $bangrund = 'Modified Player Class';
if($ds['grund']== '11') $bandauer = '20';
if($ds['grund']== '12') $bangrund = 'Modified Player Skin';
if($ds['grund']== '12') $bandauer = '20';
if($ds['grund']== '13') $bangrund = 'Altered Engine Class - Render Device';
if($ds['grund']== '15') $bandauer = '20';
if($ds['grund']== '14') $bangrund = 'Modified Engine Class';
if($ds['grund']== '14') $bandauer = '20';
if($ds['grund']== '15') $bangrund = 'Invalid Parameter - SoundVolume';
if($ds['grund']== '15') $bandauer = '20';
if($ds['grund']== '16') $bangrund = 'blacklistet process \'X\' ';
if($ds['grund']== '16') $bandauer = '365';
if($ds['grund']== '17') $bangrund = 'System Hack (Kernel Hook)';
if($ds['grund']== '17') $bandauer = '365';
$timestamp = strtotime ($ds['enddate']);
$neue_timestamp = $timestamp - 86400*$bandauer;
$banstart = date("Y-m-d", $neue_timestamp);
$now = date("Y-m-d");
if($ds['enddate']>$now)
$ton8status='<a href="#" class="tt"><font color="red">[GESPERRTER SPIELER]</font>
<span class="tooltip">
<span class="top"><strong>Zusatzinformationen:</strong><br><br></span>
<span class="middle"><font color="red">ESE BAN bis '.$ds['enddate'].'</font> <br><br>Cheat/Grund: '.$bangrund.' <br><br> Geloggt am: '.$banstart.'<br> Geloggte PUID: '.$ds['esepuid'].' </span>
<span class="bottom"><br><img src="/images/ese_banlist.gif" border="0"><br><br></span>
</span>
</a>';
}}
$gameacc_sql = safe_query("SELECT type, value FROM ".PREFIX."user_gameacc WHERE userID = '".$dw['userID']."'");
if(mysql_num_rows($gameacc_sql)){
$num=1;
while($db=mysql_fetch_array($gameacc_sql)){
$ergebnis=safe_query("SELECT enddate, esepuid, grund FROM ".PREFIX."user_banlist WHERE userID='$id' ");
if(mysql_num_rows($ergebnis)){
while($ds=mysql_fetch_array($ergebnis)){
$now = date("Y-m-d");
if($ds['enddate']<$now)
if($ds['grund']== '0') $bangrund = 'Generic Base Injection Type \'X\'';
if($ds['grund']== '0') $bandauer = '365';
if($ds['grund']== '1') $bangrund = 'Generic Radar Typ \'X\'';
if($ds['grund']== '1') $bandauer = '365';
if($ds['grund']== '2') $bangrund = 'using incorrect Cpu-Speed Parameter';
if($ds['grund']== '2') $bandauer = '20';
if($ds['grund']== '3') $bangrund = 'blacklisted and altered file \'Amb*\'';
if($ds['grund']== '3') $bandauer = '20';
if($ds['grund']== '4') $bangrund = 'Modified Render Class';
if($ds['grund']== '4') $bandauer = '365';
if($ds['grund']== '5') $bangrund = 'Altered Engine Class';
if($ds['grund']== '5') $bandauer = '365';
if($ds['grund']== '6') $bangrund = 'Modified Engine Class';
if($ds['grund']== '6') $bandauer = '20';
if($ds['grund']== '7') $bangrund = 'Altered Engine Class - \'X\'';
if($ds['grund']== '7') $bandauer = '20';
if($ds['grund']== '8') $bangrund = 'Missing Package DLL';
if($ds['grund']== '8') $bandauer = '20';
if($ds['grund']== '9') $bangrund = 'Missing Package Handle';
if($ds['grund']== '9') $bandauer = '20';
if($ds['grund']== '10') $bangrund = 'Unknown Package DLL';
if($ds['grund']== '10') $bandauer = '20';
if($ds['grund']== '11') $bangrund = 'Modified Player Class';
if($ds['grund']== '11') $bandauer = '20';
if($ds['grund']== '12') $bangrund = 'Modified Player Skin';
if($ds['grund']== '12') $bandauer = '20';
if($ds['grund']== '13') $bangrund = 'Altered Engine Class - Render Device';
if($ds['grund']== '15') $bandauer = '20';
if($ds['grund']== '14') $bangrund = 'Modified Engine Class';
if($ds['grund']== '14') $bandauer = '20';
if($ds['grund']== '15') $bangrund = 'Invalid Parameter - SoundVolume';
if($ds['grund']== '15') $bandauer = '20';
if($ds['grund']== '16') $bangrund = 'blacklistet process \'X\' ';
if($ds['grund']== '16') $bandauer = '365';
if($ds['grund']== '17') $bangrund = 'System Hack (Kernel Hook)';
if($ds['grund']== '17') $bandauer = '365';
$timestamp = strtotime ($ds['enddate']);
$neue_timestamp = $timestamp - 86400*$bandauer;
$banstart = date("Y-m-d", $neue_timestamp);
$banchecker='<a href="#" class="tt"><img src="http://www.tutorials.de/forum/images/icons/ese_alarm.png" title="Dieser Spieler wurde mindestens einmal geloggt!" border="0" alt="esebanchecker">
<span class="tooltip">
<span class="top"><strong>Zusatzinformationen:</strong><br><br></span>
<span class="middle">Geloggt am: '.$banstart.'<br> Geloggte PUID: '.$ds['esepuid'].' <br>Bandauer: '.$ban_dauer.' Tage<br><br>Cheat/Grund: '.$bangrund.' <br> </span>
<span class="bottom"><br><img src="/images/ese_banlist.gif" border="0"><br><br></span>
</span>
</a>';
}
}
//...
## EDIT ##
Hat sich erledigt! Hab nicht nachgedacht^^ Ich habe nun einfach "ORDER BY date DESC" hinzugefügt
