Bin beim stöbern auf etwas gestoßen was mich stutzig macht, denn darüber haben wir schonmal gesprochen und ich habe dir gegen über klar meine Meinung kund gegeben.
Und du hast mal wieder nicht gefragt...
Meine "rankings.php"
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 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 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 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>
Deine "ranklist.php"
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; }
$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 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);
$maxRange = 2;
$maxStep = 6;
if(($aSeite-$maxRange)>0) $sStart = $aSeite-$maxRange;
else $sStart = 1;
if(($aSeite+$maxRange)<=$cSeite[0]) $sEnde = $aSeite+$maxRange;
else $sEnde = $cSeite[0];
echo '<div align="center"><table height="25">
<tr height="25">
<td>';
if(($aSeite-$maxStep)>0) echo '<a href="index.php?site=sys/ranklist&p='.($aSeite-$maxStep).'">'.($aSeite-$maxStep).'</a> «';
else echo '<a href="index.php?site=sys/ranklist&p=1">1</a> «';
echo'</td>';
for($i=$sStart;$i<=$sEnde;$i++) {
$sKlasse = ($i==$aSeite) ? "rang2" : "thell";
echo'<td width="80" class="'.$sKlasse.'" style="text-align:center;">';
echo'<a href="index.php?site=sys/ranklist&p='.$i.'">'.$i.'</a>';
echo'</td>';
}
echo'<td style="text-align:right;">';
if(($aSeite+$maxStep)<=$cSeite[0]) echo '» <a href="index.php?site=sys/ranklist&p='.($aSeite+$maxStep).'">'.($aSeite+$maxStep).'</a>';
else echo '» <a href="index.php?site=sys/ranklist&p='.$cSeite[0].'">'.$cSeite[0].'</a>';
echo'</td>';
echo'</table></div>';
echo '
<table width="100%">
<tr>
<td>Reich</td>
<td>Platz</td>
<td>Charakter</td>
<td>Level</td>
<td>EXP</td>
<td>Gilde</td>
</tr>
';
$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 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>";
if(!empty($getPlayers->empire)) {
echo '<img src="Bilder/img/'.$getPlayers->empire.'.jpg" title="Reich" alt="Reich"/>';
}
echo "</td>";
echo "<td>".$x."</td>";
echo "<td>".$getPlayers->name."</td>";
echo "<td>".$getPlayers->level."</td>";
echo "<td>".$getPlayers->exp."</td>";
echo "<td>".$getPlayers->guild_name."</td>";
echo "</tr>";
$x++;
}
echo "</table>";
?>
Du hast sogar die functions und meine css-styles übernommen.
Und jetzt komm nicht wieder mit "Das hast du doch aber hochgeladen"...
In den Credits steht auch nichts.