Ausgabe Problem

MichaelKRI

Grünschnabel
Hi an alle habe kleines problem.
Habe ein Turnierscript geschrieben, mit Rangliste.
Siehe HIER

In der Rangliste habe ich ein Feld namens Diff

Die Diff wird in meinem Quellcode mit folgendem Befehl errechnet

PHP:
$diff = $row['gewonnen'] - $row['verloren'];

Und in der Rangliste ausgegeben, muss dazu sagen ein Feld diff
gibt es in meiner Datenbank Tabelle nicht was auch richtig ist.

Ich bekomme es einfach nicht hin das die Rangliste nur nach diff sortiert wird.

Versucht habe ich folgendes
PHP:
Habe aus $result = query("SELECT * FROM lt_".$liga['id']."_user WHERE sperre='0' ORDER BY $sort $order, nick ASC"); 
folgendes gemacht
$result = query("SELECT * FROM lt_".$liga['id']."_user WHERE sperre='0' ORDER BY diff ASC");

Hier mein Original Quellcode der PHP Datei
PHP:
<style type="text/css">
<!--
.Stil5 {color: #CCCCCC; }
.Stil6 {color: #0000FF}
-->
</style>

<?php
$filename="rangliste.php";
require("global.php");

// Design übermittelt von außen per Parameter auflisten
if(isset($_REQUEST['backgroundgrafik'])) $liga['hintergrundbild'] = $_REQUEST['backgroundgrafik'];
if(isset($_REQUEST['backgroundcolor'])) $liga['hintergrundfarbe'] = $_REQUEST['backgroundcolor'];
if(isset($_REQUEST['textcolor'])) $liga['textcolor'] = $_REQUEST['textcolor'];
if(isset($_REQUEST['linkcolor'])) $liga['linkfarbe'] = $_REQUEST['linkcolor'];
if(isset($_REQUEST['vlinkcolor'])) $liga['vlinkfarbe'] = $_REQUEST['vlinkcolor'];
if(isset($_REQUEST['alinkcolor'])) $liga['alinkfarbe'] = $_REQUEST['alinkcolor'];
if(isset($_REQUEST['tabellenkopffarbe'])) $liga['tabellenkopffarbe'] = $_REQUEST['tabellenkopffarbe'];
if(isset($_REQUEST['tabellenzellenfarbe'])) $liga['tabellenzellenfarbe'] = $_REQUEST['tabellenzellenfarbe'];


if(isset($_GET['sort'])) $sort = $_GET['sort'];
else $sort = "rang";

if($sort=="rang"||$sort=="nick"||$sort=="letztes_spiel"||$sort=="bestrang") $order = "ASC";
else $order = "DESC";

$jetzt = time();

$eintag = 24*60*60;

$result = query("SELECT * FROM lt_".$liga['id']."_user WHERE sperre='0' ORDER BY $sort $order, nick ASC");

$x=1;

while($row=get_satz($result))    {

     $status = NULL;

    $einstellungen = explode(",", $row['einstellungen']);

    $inaktiv = $jetzt-$row['letztes_spiel'];

    $inaktiv = $inaktiv/$eintag;

    $inaktiv = runden( $inaktiv, 1);

    if($row['infolge']==0) $row['infolge']="n.a.";

    if($row['infolge']>0) $row['infolge']="+".$row['infolge']."";

    if($sort!="rang") $x=$row['rang'];

    if($einstellungen[0]==1) $email_link = "<a href=\"mailto:".$row['email']."\"><img src=\"grafik/e.gif\" border=\"0\" alt=\"".$row['nick']." eine Mail schreiben\"></a>";
    else $email_link = "";

    if($row['multiplikator']>1) $member = "<img src=\"grafik/m.gif\" border=\"0\" alt=\"".$row['nick']." ist Abo Spieler\">";
    else $member="";
   
    if($row['multiplikator1']==5) $member20 = "<img src=\"grafik/m.gif\" border=\"0\" alt=\"".$row['nick']." ist Liga Admin\">";
    else $member20="";   
   
    if($row['gruppeid']==0) $member1 = "<img src=\"grafik/m.gif\" border=\"0\" alt=\"".$row['nick']." ist Liga Admin\">";
    else $member1="";


   
    if($row['gruppeid']==0) $member3 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member3="";
   
    if($row['gruppeid']==2) $member8 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member8="";
   
    if($row['gruppeid']==1) $member9 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member9="";
   
    if($row['gruppeid']==3) $member10 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member10="";
   
    if($row['gruppeid']==4) $member11 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member11="";
   
    if($row['gruppeid']==5) $member12 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member12="";
   
    if($row['gruppeid']==6) $member13 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member13="";
   
    if($row['gruppeid']==7) $member14 = "<img src=\"grafik/tl.gif\" border=\"0\" alt=\"".$row['nick']." ist Turnier Leiter\">";
    else $member14="";
   
if($row['turnierspiele']>49) $status = "<img src=\"grafik/vip.gif\" border=\"0\" alt=\"".$row['nick']." ist Vip Spieler, dazu kommt man ab 50 Turnierteilnahmen\">";
   
 if($row['turnierspiele']>149) $status = "<img src=\"grafik/gold.gif\" border=\"0\" alt=\"".$row['nick']." ist Gold Spieler, dazu kommt man ab 150 Turnierteilnahmen\">";
   

 if($row['turnierspiele']>249) $status = "<img src=\"grafik/platinum.gif\" border=\"0\" alt=\"".$row['nick']." ist Platinum Spieler, dazu kommt man ab 250 Turnierteilnahmen\">";


 if($row['turnierspiele']>349) $status = "<img src=\"grafik/diamand.gif\" border=\"0\" alt=\"".$row['nick']." ist diamand Spieler, dazu kommt man ab 350 Turnierteilnahmen\">";

   
    $land = $row['land'];
    $land = $row['verein'];
    $p = $row['gewonnen'] *3;
    $turnierwinner = $row['turnierwinner'];
    $turnierspiele = $row['turnierspiele'];
    $turniere_gebaut = $row['turniere_gebaut'];
    $diff = $row['gewonnen'] - $row['verloren'];
    $lol = $row['gewonnen'] + $row['verloren'];
    $b = ":";
    if(($row['gewonnen'] + $row['verloren']) === 0) {
        $prozent = "0 %";
    } else {
        $prozent = round((100 / ($row['gewonnen'] + $row['verloren'])) * $row['gewonnen'],3)." %";

    }

    eval ("\$rangliste_bit .= \"".lade_tpl("rangliste_bit")."\";");

    $x++;

}


eval ("\$output = \"".lade_tpl("rangliste")."\";");

echo "$output";

?><br />
<table width="200" border="1">
  <tr>
    <td height="305" bgcolor="#666666"><table width="441" border="1">
      <tr>
        <td width="40" bgcolor="#666666"><div align="center" class="Stil5">Icons</div></td>
        <td width="385" bgcolor="#666666"><div align="center" class="Stil5">Bedeutung</div></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/m.gif" width="14" height="13" /><img src="/liga/ts/grafik/m.gif" width="14" height="13" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">Abo Spieler und Liga Admin</span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/m.gif" width="14" height="13" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">Liga-Admin</span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/tl.gif" width="16" height="16" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">Turnierleiter</span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/diamand.gif" width="16" height="16" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">DIAMAND Spieler, wird man ab 350 Turnierteilnahmen</span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/platinum.gif" width="16" height="16" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">PLATINIUM Spieler, wird man ab 250 Turnierteilnahmen</span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/gold.gif" width="16" height="16" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">GOLD Spieler, wird man ab 150 Turnierteilnahmen </span></td>
      </tr>
      <tr>
        <td bgcolor="#666666"><div align="center" class="Stil5"><img src="/liga/ts/grafik/vip.gif" width="16" height="16" /></div></td>
        <td bgcolor="#666666"><span class="Stil5">VIP Spieler, wird man ab 50 Turnierteilnahmen </span></td>
      </tr>
    </table>
    <br />
    <span class="Stil5">Alle auszeichnungen kommen von heute an von alleine zu den Spielern<br />
ohne das man diese extra eintragen muss.<br />
<br />
Bei uns den SCHLAWIENERS bedeuten sie, das diese Spieler zb an<br />
Turnieren teilnehmen d&uuml;rfen wo wir sachpreise oder Pokale verschicken. </span></td>
  </tr>
</table>
<p><br />
  <br />
</p>

Wer kann mir weiter Helfen, danke im vorraus.
 
Hi,

vorab hast du in deinem Script eine oder mehrere SQL-Injection Lücken, bitte keine Benutzereingaben direkt in SQL-Queries einbauen!

Natürlich kannst du nicht nach "diff" sortieren, wenn du die Spalte nicht hast / selektierst. Folgendes sollte aber funktionieren:
SQL:
SELECT u.*, u.gewonnen - u.verloren AS diff FROM lt_123_user AS u WHERE sperre=0 ORDER BY diff ASC

Grüsse,
BK
 
Danke dir, hat wunderbar funktioniert nach deiner Anleitung.

Hi,

vorab hast du in deinem Script eine oder mehrere SQL-Injection Lücken, bitte keine Benutzereingaben direkt in SQL-Queries einbauen!

Natürlich kannst du nicht nach "diff" sortieren, wenn du die Spalte nicht hast / selektierst. Folgendes sollte aber funktionieren:
SQL:
SELECT u.*, u.gewonnen - u.verloren AS diff FROM lt_123_user AS u WHERE sperre=0 ORDER BY diff ASC

Grüsse,
BK
 

Neue Beiträge

Zurück