[PHP] Rangliste Frage

06/13/2015 16:23 EisTee,#1
Hallo Liebe Community,

Ich hätte da eine Frage wie es in meinem Top10 Ranglisten Script so machen kann das der Platz 1-3 statt den Platz ein Icon bekommen.

Mein Script:
Code:
<table>

<?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 , name asc limit 10";

  //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 style='padding:0;'>";
    echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$x."</td>";
    echo "<td style='padding-left:10px;'>".$getPlayers->name."</td>";
    echo "<td style='padding-left:10px;'>".$getPlayers->level."</td>";
    echo "</tr>";
   
    $x++;
  }
?>
</table>
Ich bedanke mich im Voraus .
06/13/2015 18:27 rollback#2
Du setzt vor der while schleife eine Variable auf 1 die du am Ende der Schleife immer um 1 erhöhst. Am Anfang der Schleife fragst du ab, ob der Wert 1, 2 oder 3 ist und wenn ja setzt du ein Icon dazu
06/13/2015 20:02 ℜyzє#3
Quote:
Originally Posted by It's me, 1093 View Post
Du setzt vor der while schleife eine Variable auf 1 die du am Ende der Schleife immer um 1 erhöhst. Am Anfang der Schleife fragst du ab, ob der Wert 1, 2 oder 3 ist und wenn ja setzt du ein Icon dazu
Code:
<table>

<?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 , name asc limit 10";

  //echo $sqlCmd;
  $sqlQry = mysql_query($sqlCmd,$sqlServ);
  $x=$cSeite[1]+1;
	$platz1 = "<img src='deinpfad'>";;
	$platz2 = "<img src='deinpfad'>";;
	$platz3 = "<img src='deinpfad'>";;

  while($getPlayers = mysql_fetch_object($sqlQry)) {
    $zF = ($x%2==0) ? "thell" : "tdunkel";
    if(checkInt($markierteZeile) && $markierteZeile==$x) { $zF = "tmarkiert"; }
    echo "<tr style='padding:0;'>";
	if ($x == 1 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz1."</td>"; }
	elseif ($x == 2 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz2."</td>"; }
	elseif ($x == 3 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz3."</td>"; }

	else
	{
	echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$x."</td>";
	}
    echo "<td style='padding-left:10px;'>".$getPlayers->name."</td>";
    echo "<td style='padding-left:10px;'>".$getPlayers->level."</td>";
    echo "</tr>";
   
    $x++;
  }
?>
</table>
Ist jetzt nicht die beste Lösung, doch so sollte es eigentlich gehen.
06/13/2015 21:13 /exit#4
Quote:
Originally Posted by .Xyron™ View Post
Code:
<table>

<?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 , name asc limit 10";

  //echo $sqlCmd;
  $sqlQry = mysql_query($sqlCmd,$sqlServ);
  $x=$cSeite[1]+1;
	$platz1 = "<img src='deinpfad'>";;
	$platz2 = "<img src='deinpfad'>";;
	$platz3 = "<img src='deinpfad'>";;

  while($getPlayers = mysql_fetch_object($sqlQry)) {
    $zF = ($x%2==0) ? "thell" : "tdunkel";
    if(checkInt($markierteZeile) && $markierteZeile==$x) { $zF = "tmarkiert"; }
    echo "<tr style='padding:0;'>";
	if ($x == 1 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz1."</td>"; }
	elseif ($x == 2 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz2."</td>"; }
	elseif ($x == 3 ){ echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$platz3."</td>"; }

	else
	{
	echo "<td style='padding-right:15px;'>&nbsp;&nbsp;".$x."</td>";
	}
    echo "<td style='padding-left:10px;'>".$getPlayers->name."</td>";
    echo "<td style='padding-left:10px;'>".$getPlayers->level."</td>";
    echo "</tr>";
   
    $x++;
  }
?>
</table>
Ist jetzt nicht die beste Lösung, doch so sollte es eigentlich gehen.

Man sollte in 1, 2 und 3 das noch einfügen:
PHP Code:
echo "<td style='padding-right:15px;'>".$platz1."&nbsp;&nbsp;1</td>";
echo 
"<td style='padding-right:15px;'>".$platz2."&nbsp;&nbsp;2</td>";
echo 
"<td style='padding-right:15px;'>".$platz3."&nbsp;&nbsp;3</td>"
Sieht allgemein schöner aus, weil er dann 1, 2 und 3 auch mit ausgibt.