Tabelle Sortieren mit PHP

Änder mal ab in:

PHP:
@$sql = "SELECT * FROM albumliste ORDER BY ".$_GET['sortierung']." ".$_GET['direction'].";
 
PHP:
<?php 

function sort_table_header($album, $mode="desc"){  
   if($mode == "desc") {  
      $mode_return = "asc";  
   } elseif (!isset($mode) || $mode = "") {  
      $mode_return = "desc";  
   }  else { 
      $mode_return = "desc"; 
   } 
      return "<a href=\"musikliste.php?sortierung=".$album."&direction=".$mode_return."\">".ucfirst($album)."</a>";      
}   
?> 

<table cellpadding="0" cellspacing="0" border="2">  
<th> <?= sort_table_header("album", $_GET['direction']); ?> </th>  
<th> <?= sort_table_header("interpret", $_GET['direction']); ?> </th>  
<th> <?= sort_table_header("genre", $_GET['direction']); ?> </th>  
<?php  
if(isset($_GET['direction']) && isset($_GET['sortierung'])){ 
   @$sql = "SELECT * FROM albumliste ORDER BY '".$_GET['sortierung']."' ".$_GET['direction']; 
} else { 
  @$sql = "SELECT * FROM albumliste" ;  
} 
@$result = mysql_query($sql) OR die(" datenbank".mysql_error());  

 while($row = mysql_fetch_object($result)) {  
 echo"<tr><td> $row->interpret </td><td> $row->album</td><td> $row->genre </td></tr>";  
 }  
   
?>  
</table>  
</body>  
</html>

also bei mir geht das auffem system...
 
wie sieht die ausgabe denn aus? dir ist schon klar das die jeweilige angewählte Spalte dann nur auf oder absteigend sortiert wird ya?
 
naja von A-z und Z-a schon klar aber es passiert nix von beiden
wie soll die ausgabe aussehn ... meine Tabbell mit den Spaltenname darunter die DB werte unsortiert
 
mach ma nen screenshot und versuch mal mehrere male zu sortieren. und poste mir nochmal deinen Quelltext und lass dir die $sql nochmal ausgeben.
Du kannst das query auch mal im phpMyAdmin versuchen und schauen was da kommt.
 
Die Variable $album, welche du an die Funktion sort_table_header() übergibts muss identisch sein mit dem Spaltennamen in deiner Datenbank.

Andernfalls musst du dies noch abfangen.

gGib dir doch mal den SQL-String aus u. kopier in phpMyAdmin rein u. schau was dort passiert, dort kannst du ja dann nach u. nach schauen wo der Fehler liegt.
 
Zurück