Tabelle per Klick sortieren

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

  • Tabelle per Klick sortieren

    Hallo Leute.

    Alle Suche und experimentieren hat nichts geholfen. Vermutlich sehe ich den Wald vor lauter Bäumen nicht.
    Ich hab folgendes Prob.

    Ich lasse per php eine Tabelle dynamisch generieren.
    Die Daten für die Tabelle werden in txt-Dateien abgelegt. D.h. sie kommen nicht
    aus einer Datenbank. Für jede Zeile wird eine einzelne Datei angelegt.

    Jetzt mein Problem, die Zeilen der Tabelle werden erst mal nach ihrem eingabealter
    aufgelistet. Also die zu letzt eingegebenen Daten werden als erste Zeile (nach der kopfzeile die fest besteht) ausgegeben.
    Will ich aber nicht. Die Tabelle soll zum Beispiel nach Spalte 4 sortiert angezeigt werden.
    Und zum anderen möchte ich diese dann mit Klick auf die Spaltenüberschrift nach der entsprechenden Spalte sortieren lassen. Ein neu Laden der Seite ist dabei akzeptabel.

    So sieht das ganze aus bis jetzt aus: (ohne Sortierexperiment)
    PHP-Code:
    <body>
    <div align="center"> 
      <p class="Ueberscrift">Mitgliederverzeichnis</p>
      <table align="center" cellpadding="0" class="TabelleVerzeichnis" id="table0">
        <tr> 
          <td width="130" height="30" class="Tabellenueberschrift"> <div align="center">Name</div></td>
          <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Vorname</div></td>
          <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Codename</div></td>
          <td width="60" class="Tabellenueberschrift"> <div align="center">Bereich</div></td>
          <td width="60" height="30" class="Tabellenueberschrift"> <div align="center">Email</div></td>
          <td width="110" height="30" class="Tabellenueberschrift"> <div align="center">Handy</div></td>
          <td width="80" height="30" class="Tabellenueberschrift"> <div align="center">Status</div></td>
          <td width="60" height="30" class="Tabellenueberschrift"> <div align="center">Zugang</div></td>
          <td width="90" height="30" class="Tabellenueberschrift"> <div align="center">Mitglied 
              seit</div></td>
        </tr>
        <?php
    require ('config.php');
    $dateianzahl=fopen("news_kommentare/anza.hl","r");
    $anzahly=intval(fgets($dateianzahl,10000));
    fclose($dateianzahl);

    $dateianzahl=fopen("artikel/anza.hl","r");
    $anzahl=intval(fgets($dateianzahl,10000));

    $readin=array();

    $x=0;
    for(
    $i=$anzahl;$i>-1;$i--) {
        
    $k=0;
        if(
    file_exists("artikel/".$i.".atk")){
            for(
    $y=$anzahly;$y>-1;$y--) {
                if(
    file_exists("news_kommentare/".$i."_".$y.".atk"))$k++;
            }

            
    //$commentanzahl=$k;
            
    include "artikel/".$i.".atk";
            
    $readin[$x][]=stripslashes($usname);
            
    $readin[$x][]=stripslashes($usvorname);        
            
    $readin[$x][]=stripslashes($uscode);
            
    $readin[$x][]=stripslashes($usbereich);
            
    $readin[$x][]=stripslashes($usemail);
            
    $readin[$x][]=stripslashes($ushandy);
            
    $readin[$x][]=stripslashes($usstatusaktiv);
            
    $readin[$x][]=stripslashes($usstatusinaktiv);
            
    $readin[$x][]=stripslashes($usstatusunklar);
            
    $readin[$x][]=stripslashes($usstatusaus);
            
    $readin[$x][]=stripslashes($usstatusgek);        
            
    $readin[$x][]=stripslashes($uszugangja);
            
    $readin[$x][]=stripslashes($uszugangnein);
            
    $readin[$x][]=stripslashes($usseit);
            
    $readin[$x][]=$i;
            
    $readin[$x][]=$k;
            
    $x++;
        }
    }

    if(isset(
    $_GET['page'])) $page=intval($_GET['page']);
    else 
    $page=0;

    for(
    $x=($page)*$perpage;$x<(($page)*$perpage+$perpage) && $x<sizeof($readin);$x++){
        
    $usname=$readin[$x][0];
        
    $usvorname=$readin[$x][1];
        
    $uscode=$readin[$x][2];
        
    $usbereich=$readin[$x][3];
        
    $usemail=$readin[$x][4];
        
    $ushandy=$readin[$x][5];
        
    $usstatusaktiv=$readin[$x][6];
        
    $usstatusinaktiv=$readin[$x][7];
        
    $usstatusunklar=$readin[$x][8];
        
    $usstatusaus=$readin[$x][9];
        
    $usstatusgek=$readin[$x][10];
        
    $uszugangja=$readin[$x][11];
        
    $uszugangnein=$readin[$x][12];
        
    $usseit=$readin[$x][13];
        
    $i=$readin[$x][14];
        include 
    "template_index.php";

    }
    ?>
    </table>
      <p>V = Vorstand<br>
        M = Mitglied</p>
    </div>
    <? echo $menu; ?>
    </body>
    Ich weiß das es da funktionen wie "sort" "nasort" usw. gibt. Komme aber irgendwie nich richtig klar damit. Hab sicherlich en Denkfehler drin.
    Danke schon mal für Eure Hilfe.

  • #2
    Hi,

    schau dir folgendes mal an: hier werden in den Beispielen Komplexe Arrays nach den Spalten sortiert.

    mfg
    Ralf

    Kommentar


    • #3
      Ok, das mit dem natsort ist nicht ganz das ware für mein Zwecke.
      Ich hab nen JS eingedunden.

      http://webfx.eae.net/dhtml/tablesort/tablesort.html

      Funktioniert supi.

      Kommentar

      Lädt...
      X