Ausgabe klapt nicht ganz

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ausgabe klapt nicht ganz

    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-Code:
    $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-Code:
    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-Code:
    <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$inaktiv1);

        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.

  • #2
    Hach, da sind so viele Dinge falsch, dass man wieder nicht weiß, wo man anfangen soll.

    1. Durchnummerierte Datenbanktabellen sind ein Fehldesign. Gleichartige Daten gehören in eine Tabelle und nicht in mehrere.

    2. SELECT * sollte nicht verwendet werden. Gib im SELECT immer die Spalten an, die du im Ergebnis erwartest.

    3. Beachte den Kontextwechsel zu HTML. Werte die du in HTML-Code einfügst, musst du mit htmlspecialchars() behandeln.

    4. Durchnummerierte Variablen sind Quatsch. Mach sowas nicht. Willst du mehrere gleichartige Werte in Variablen speichern, verwende Arrays dafür.

    5. Datenbankabfragen haben inmitten der HTML-Ausgabe nichts verloren. Alle Daten müssen vor Beginn der HTML-Ausgabe zur Verfügung stehen.

    6. IDs haben im Programmcode nichts verloren (z.B. $row['gruppeid']==3). Das deutet auch auf ein Fehldesign hin.

    7. Um Ausgaben zu stylen verwende CSS. Die HTML-Attribute bgcolor, align, uw. haben schon lange ausgedient und machen den Code schwer wart- und lesbar.

    8. eval() ist böse und sollte nicht verwendet werden.

    9. Verwende niemals $_REQUEST, sondern immer $_GET oder $_POST, je nachdem welche HTTP-Methode du erwartest.

    10. Umlaute sollten nicht verst&uuml;mmelt geschrieben werden.

    11. <br /> ist ein Zeilenumbruch und nicht dazu da um Abstände zu erzeugen. Für Abstände im Layout ist wieder CSS zuständig.

    12. Zu deinem genannten Problem: Lass dir doch die Datenbankabfrage ausgeben und lies auch die Fehlermeldungen. Es ist 1000mal besser nachzulesen und nachzuschauen als blind herumzuraten, warum etwas nicht funktioniert.

    Kommentar

    Lädt...
    X