Hi.
Ich habe das Problem jetzt mittlerweile gelöst.
Und zwar folgendermassen:
- Code: Select all
switch($_GET["order"]){
case 1: $z=$_GET["order"];
if($_GET["asc"]==1){
$sort="desc";
$sortierung=0;
}else{
$sort="asc";
$sortierung=1;
}
break;
case 2: $z=$_GET["order"];
if($_GET["asc1"]==1){
$sort="desc";
$sortierung1=0;
}else{
$sort="asc";
$sortierung1=1;
}
break;
case 3: $z=$_GET["order"];
if($_GET["asc2"]==1){
$sort="desc";
$sortierung2=0;
}else{
$sort="asc";
$sortierung2=1;
}
break;
default : $z=2;
}
Ich lasse die Sortierung über Links in den Überschriften mittels Get übergeben. Bei dem Switch Statement überprüfe ich, nach welche Spalte sortiert werden soll ($_GET["order"]) und ob es absteigend oder aufsteigend sortiert werden soll (mit Hilfe der Variablen $sort).
Ausserdem übergebe ich den Status, ob die letzte Sortierung aufsteigend oder absteigend war mit Hilfe der Variablen $sortierung.
Die Links, die die Tabellenüberschriften bilden sehen folgendermassen aus:
- Code: Select all
<a href=\"".$_SERVER["PHP_SELF"]."?order=1&suche=".$y."&asc=".$sortierung." \" >Rechner</a>
Ich habe jetzt nicht alle 3 Links gepostet, der einzige Unterschied ist, dass bei den drei Links "asc" -"asc2" verwendet wurde. Die Variable $y beinhaltet die Software Id's so wie sie in der Datenbank gespeichert sind.
Meine SQL-Query setzt sich jetzt folgendermassen zusammen:
- Code: Select all
SELECT * FROM software_pro_rechner where software_id in ($y) order by $z $sort
Ich hoffe es ist verständlich was ich geschrieben habe.
Wenn du noch Verbesserungsvorschläge hast lass sie mich bitte wissen,
da ich mir nich sicher bin, dass es sich bei dieser Lösung um die effektivste/sauberste Lösung handelt.
Vielen Dank schon mal.
Mfg
H0MER
/edit: ich hatte ausversehen eine Klammer zuviel aus meinem Quelltext kopiert in der Switchanweisung.