PHP Code:
<?PHP
$CPSeite = 50;
$markierteZeile=0;
if(isset($_GET['p'])) {
if(!checkInt($_GET['p']) || !($_GET['p']>0)) $aSeite = 1;
else $aSeite = $_GET['p'];
}
else { $aSeite = 1; }
if(isset($_POST['suche']) && $_POST['suche']=='suchen') {
if(!empty($_POST['charakter'])) {
$sqlCmd="SELECT id, name, level, exp, empire, guild_name, rang
FROM (
SELECT id, name, level, exp, empire, guild_name, @num := @num +1 AS rang
FROM (
SELECT player.id, player.name, player.level, player.exp, player_index.empire, guild.name AS guild_name, @num :=0
FROM player.player
LEFT JOIN player.player_index ON player_index.id = player.account_id
LEFT JOIN player.guild_member ON guild_member.pid = player.id
LEFT JOIN player.guild ON guild.id = guild_member.guild_id
INNER JOIN account.account ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND player.name NOT LIKE '[%]%' AND player.name NOT LIKE 'CharName1' AND player.name NOT LIKE 'CharName2' AND player.name NOT LIKE 'CharName3' AND player.name NOT LIKE 'CharName4' AND player.name NOT LIKE 'CharName5' AND account.status!='BLOCK'
ORDER BY player.level DESC , player.exp DESC
) AS t1
) AS t2
WHERE name LIKE '".mysql_real_escape_string($_POST['charakter'])."' LIMIT 1";
$sqlQry=mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0) {
$getRang = mysql_fetch_object($sqlQry);
$aSeite = ceil($getRang->rang/$CPSeite);
$markierteZeile = $getRang->rang;
}
}
}
$sqlCmd = "SELECT COUNT(*) as summeChars
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND player.name NOT LIKE 'CharName1' AND player.name NOT LIKE 'CharName2' AND player.name NOT LIKE 'CharName3' AND player.name NOT LIKE 'CharName4' AND player.name NOT LIKE 'CharName5' AND account.status!='BLOCK'
ORDER BY player.level DESC, player.exp DESC";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
$getSum = mysql_fetch_object($sqlQry);
$cSeite = calcPages($getSum->summeChars,$aSeite,$CPSeite);
?>
<h2>Rangliste</h2>
<p>Die Charaktersuche funktioniert nur bei richtiger Eingabe eines Namens. Die Suche ist nicht case sensitive.</p>
<form action="index.php?s=rankings" method="POST">
<table>
<tr>
<th class="topLine">Charaktersuche:</th>
<td class="thell" style="text-align:center;"><input type="text" name="charakter" maxlength="20" size="20"/></td>
<td class="tdunkel" style="text-align:center;"><input type="submit" name="suche" value="suchen" maxlength="20" size="20"/></td>
</tr>
</table>
</form>
<?PHP
$maxRange = 5;
$maxStep = 15;
if(($aSeite-$maxRange)>0) $sStart = $aSeite-$maxRange;
else $sStart = 1;
if(($aSeite+$maxRange)<=$cSeite[0]) $sEnde = $aSeite+$maxRange;
else $sEnde = $cSeite[0];
echo '<table>
<tr>
<td class="tdunkel">';
if(($aSeite-$maxStep)>0) echo '<a href="index.php?s=rankings&p='.($aSeite-$maxStep).'">'.($aSeite-$maxStep).'</a> «';
else echo '<a href="index.php?s=rankings&p=1">1</a> «';
echo'</td>';
for($i=$sStart;$i<=$sEnde;$i++) {
$sKlasse = ($i==$aSeite) ? "topLine" : "thell";
echo'<td class="'.$sKlasse.'" style="text-align:center;">';
echo'<a href="index.php?s=rankings&p='.$i.'">'.$i.'</a>';
echo'</td>';
}
echo'<td class="tdunkel" style="text-align:right;">';
if(($aSeite+$maxStep)<=$cSeite[0]) echo '» <a href="index.php?s=rankings&p='.($aSeite+$maxStep).'">'.($aSeite+$maxStep).'</a>';
else echo '» <a href="index.php?s=rankings&p='.$cSeite[0].'">'.$cSeite[0].'</a>';
echo'</td>';
echo'</table>';
?>
<table>
<tr>
<th class="topLine">Platz</th>
<th class="topLine">Charakter</th>
<th class="topLine">Level</th>
<th class="topLine">EXP</th>
<th class="topLine">Gilde</th>
<th class="topLine">Reich</th>
</tr>
<?PHP
$sqlCmd = "SELECT player.id,player.name,player.level,player.exp,player_index.empire,guild.name AS guild_name
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND player.name NOT LIKE 'CharName1' AND player.name NOT LIKE 'CharName2' AND player.name NOT LIKE 'CharName3' AND player.name NOT LIKE 'CharName4' AND player.name NOT LIKE 'CharName5' AND account.status!='BLOCK'
ORDER BY player.level DESC, player.exp DESC
LIMIT ".$cSeite[1].",".$CPSeite;
//echo $sqlCmd;
$sqlQry = mysql_query($sqlCmd,$sqlServ);
$x=$cSeite[1]+1;
while($getPlayers = mysql_fetch_object($sqlQry)) {
$zF = ($x%2==0) ? "thell" : "tdunkel";
if(checkInt($markierteZeile) && $markierteZeile==$x) { $zF = "tmarkiert"; }
echo "<tr>";
echo "<td class=\"$zF\">".$x."</td>";
echo "<td class=\"$zF\">".$getPlayers->name."</td>";
echo "<td class=\"$zF\">".$getPlayers->level."</td>";
echo "<td class=\"$zF\">".$getPlayers->exp."</td>";
echo "<td class=\"$zF\">".$getPlayers->guild_name."</td>";
echo "<td class=\"$zF\">";
if(!empty($getPlayers->empire)) {
echo '<img src="img/reiche/'.$getPlayers->empire.'_kl.jpg" title="Reich" alt="Reich"/>';
}
echo "</td>";
echo "</tr>";
$x++;
}
?>
</table>
Füg das so wie es ist in deine rankings.php ein. Und dann mach Strg + H bei "Suchen nach:" "CharName1" Bei "Ersetzen durch:" "Der Name des Chars der nicht angezeigt werden soll". Dann auf alle ersetzen und freuen das der Char nichmehr angezeigt wird. Das mit dem CharName1 kannste dann weiter machen bis CharName5.
Es muss zu 100% klappen, weil ich es selber getestet hab.
Wenn du es nicht hin bekommst adde mich in nem Messanger und ich helf dir dann per Teamview.