• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tablesorter und PHP

profimong

Neues Mitglied
Ich habe folgende Tabelle welche aus einer SQLDatenbank gefüllt wird.

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script type="text/javascript" src="../jquery-latest.js"></script> 
    <script type="text/javascript" src="../jquery.tablesorter.js"></script> 
    <script type="text/javascript">
    
    $(document).ready(function() 
    { 
        $("#centeredtable").tablesorter(); 
    } 
); 
    </script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Spielerstatistik</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<?php

$server    = "localhost";
$user    = "user";
$pass    = "pass";
$database = "db";
$table    = "Statistik";

$verbindung = mysql_connect($server, $user, $pass)
    or die ("verbindung zu sql geht nicht");

mysql_select_db($database, $verbindung);


// SQL-Anfrage: Ergebnis ist stets eine Tabelle
$sql = "SELECT NName, SpieleG, ToreG, (ToreG / SpieleG) AS durchschnitt, MinutenG, GelbeG, RoteG, Spiele, Tore, Minuten, Gelbe, Rote, (Tore / Spiele) AS durchschnitt, (Minuten / Tore) AS durchschnitt  FROM $table";

// Anfrage ausführen
$result=mysql_query($sql) or die("Fehler im SQL-Kommando $sql");


// Tabelle in HTML darstellen
echo "<table id=centeredtable>\n";
echo "<thead>
        <tr id=firstline>
                <td class=name><div>Name</div></td>
                <td><div>Spiele gesamt</div></td>
                <td><div>Tore gesamt</div></td>
                <td><div>Tore/Spiel gesamt</div></td>
                <td><div>Minuten gesamt</div></td>
                <td><div>Gelbe gesamt</div></td>
                <td><div>Rote gesamt</div></td>
                <td class=spiele><div>Spiele 10/11</div></td>
                <td class=tore><div>Tore 10/11</div></td>
                <td class=minuten><div>Minuten 10/11</div></td>
                <td class=gelbe><div>Gelbe 10/11</div></td>
                <td class=rote><div>Rote 10/11</div></td>
                <td class=rote><div>Tore/Spiel</div></td>
                <td class=rote><div>Minuten/Tor</div></td>
          </tr>
    </thead><tbody>";
while ($row=mysql_fetch_row($result))
{

echo "<tr class=evenline>";
foreach ($row as $item) // jedes Element $item der Zeile $row durchlaufen
echo "<td>$item</td>";
echo "</tr>\n";
}
echo "</tbody></table>\n";
?>
</body>
</html>

Die Spalten sollen jetzt sortiert werden. Leider geht das nicht wie es soll. Habe die Dokumentation vom TableSorter in jQuery gelesen und bin mir nicht sicher ob ich thead und tbody welches ja zwingend gebraucht wird richtig im PHP-Code eingesetzt habe. Wenn die Sortierung der Tabelle nicht mit jQuery und Tablesorter gehen sollte, gibt es eine andere Möglichkeit die Tabelle zu sortieren.

Danke
 
TableSorter sagt mir nichts (man lernt nie aus). Du kannst aber deine Daten direkt in der SQL Abfrage sotieren. Das wird wahrscheinlich eh performanter sein:

Sortierung aufsteigend nach NName:
Code:
SELECT NName, SpieleG, ToreG, (ToreG / SpieleG) AS durchschnitt, MinutenG, GelbeG, RoteG, Spiele, Tore, Minuten, Gelbe, Rote, (Tore / Spiele) AS durchschnitt, (Minuten / Tore) AS durchschnitt  FROM $table ORDER BY NName
Sortierung absteigend nach NName:
Code:
SELECT NName, SpieleG, ToreG, (ToreG / SpieleG) AS durchschnitt, MinutenG, GelbeG, RoteG, Spiele, Tore, Minuten, Gelbe, Rote, (Tore / Spiele) AS durchschnitt, (Minuten / Tore) AS durchschnitt  FROM $table ORDER BY NName DESC

ORDER BY gibt an, nach welcher Spalte Sortiert werden soll, DESC invertiert das ganze.
 
Zurück
Oben