nox
Erfahrenes Mitglied
hy @all
hab folgendes prob:
die gesamte tabelle einer daten bank wird dargestellt, damit das ganze nicht unübersichtlich wird kann man die spalten sortieren.
wenn man den tabellen - kopf anklickt (titel der spalte) muss es deren einträge sortieren. soweit so gut!
nur werden in der letzten spalte (spalte 3 / spalet4 = spalte5) die ergebnisse nicht richtig sortiert!
ist vieleicht einbisschen unklar was ich meine darum poste ich mal einbisschen sourcecode
das ergebnis in der letzten tabelle ist z.B. dann so:
8.151
7.450
7.441
5.100
19.645
19.620
18.775
etz.....
sollte aber:
19.645
19.620
18.775
8.151
7.450
7.441
5.100
hoffe ihr findet eine lösung hab schon sämtliche suchfunktionen durchgerattert
Ps: natürlich werden alle spalten sortiert!
habe die sortierung der anderen spalten rausgenommen um herauszufinden warum das ganze nicht klappt
hab folgendes prob:
die gesamte tabelle einer daten bank wird dargestellt, damit das ganze nicht unübersichtlich wird kann man die spalten sortieren.
wenn man den tabellen - kopf anklickt (titel der spalte) muss es deren einträge sortieren. soweit so gut!
nur werden in der letzten spalte (spalte 3 / spalet4 = spalte5) die ergebnisse nicht richtig sortiert!
ist vieleicht einbisschen unklar was ich meine darum poste ich mal einbisschen sourcecode
PHP:
<?php
function cmp($a,$b)
{
// sortierfunktion
global $sort_by;
if ($a[$sort_by] == $b[$sort_by]) return 0;
return (strtolower ($a[$sort_by]) > strtolower ($b[$sort_by])) ? -1 : 1;
}
function cmpdesc($a,$b)
{
// sortierfunktion
global $sort_by_d;
if ($a[$sort_by_d] == $b[$sort_by_d]) return 0;
return (strtolower ($a[$sort_by_d]) < strtolower ($b[$sort_by_d])) ? -1 : 1;
}
?>
<html>
<body bgcolor="#CCCCCC" text="#000000">
<?php
echo "<table>";
$asc_desc = isset($sort_by)?'sort_by_d':'sort_by';
echo "<tr>".
"<td><div align='center'><b>Rang</b></div></td>".
"<td><b>Spieler</b></td>".
"<td><div align='center'><b>Streiche</b></div></td>".
"<td><div align='center'><b>Punkte</b></div></td>".
"<td><div align='center'><b><a href=\"$PHP_SELF?$asc_desc=4\">Schnitt</a></b></div></td> </tr></b>";
$data= array();
//Tabellen Daten
for ($i=0; $i<$num; $i++)
{
$data[] = array(
mysql_result($res, $i, "name"),
mysql_result($res, $i, "vorname"),
$st=mysql_result($res, $i, "streiche"),
$pt=mysql_result($res, $i, "punkte"),
number_format(($pt/$st),3,",","."),
($i+1));
}
if (isset($sort_by))
usort($data, cmp); // array nach dem Feld $data[][$sort_by] sortieren
if (isset($sort_by_d))
usort($data, cmpdesc); // array nach dem Feld $data[][$sort_by_d] sortieren
for($i=0;$i<count($data);$i++)
echo "<tr><td>".($i+1)."</td><td>".$data[$i][0]." ".$data[$i][1]."</td><td>".$data[$i][2]."</td>".
"<td>".$data[$i][3]."</td><td>".$data[$i][4]."</td></tr>";
//Ende Tabelle
echo "</table>";
mysql_close($db);
?>
</body>
</html>
8.151
7.450
7.441
5.100
19.645
19.620
18.775
etz.....
sollte aber:
19.645
19.620
18.775
8.151
7.450
7.441
5.100
hoffe ihr findet eine lösung hab schon sämtliche suchfunktionen durchgerattert
Ps: natürlich werden alle spalten sortiert!
habe die sortierung der anderen spalten rausgenommen um herauszufinden warum das ganze nicht klappt
Zuletzt bearbeitet: