[PHP5] Tabellenausgabe sortiert mit Link

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

  • [PHP5] Tabellenausgabe sortiert mit Link

    Hallo Gemeinde, hoffe Ihr könnt mir helfen. Komme im Moment nicht so recht weiter und bin so langsam am verzweifeln. Mein Problem liegt in dem Aufruf einer Tabelle und deren Sortierung. Ich rufe per Link ein PHP-Skript auf, die index.php:
    PHP-Code:
    <?php

         header
    ("Location: list.php");
    ?>
    welche die list.php aufruft. In dieser list.php ist das Ausgabeformat der Tabelle hinterlegt sowie die Möglichkeit durch Anklicken der Tabellenüberschrift die Tabelle entsprechend auf- bzw. absteigend zu sortieren

    [Der Beginn meiner list.php]
    PHP-Code:
    <?php
    include('general/header.inc');
    require_once(
    'general/general.php');

    if (isset(
    $_GET['order']))     $myData->setOrderingInfo($_GET['order']);
    if (isset(
    $_GET['page']))      $myData->actPageNr $_GET['page'];
    if (isset(
    $_POST['formdata'])) $myData->getWhereClause($_POST['formdata']);

    $maxRecord 999;
    $sqlbase "SELECT * FROM anbindungen WHERE Depot=7000".$myData->getOrderString();
    $sql $sqlbase."LIMIT ".(($myData->actPageNr-1)*$maxRecord).",".$maxRecord;
    $Result         $MyDb->f_ExecuteSql($sql);
    $ResultRowNr    $MyDb->f_GetSelectedRows($Result);
    $ResultTotalRow $MyDb->f_ExecuteSql($sqlbase);
    $totalRows      $MyDb->f_GetSelectedRows($ResultTotalRow);

    ?>
    <html>
    <head>
    <title>Anbindungen</title>
    <link rel="stylesheet" href="../../css/linkformatblanko.css" type="text/css">
    ...
    [Der Link für die Sortierung in der Tabellenüberschrift]
    PHP-Code:
    <a href="list.php?order=Depot">Depot<?php $myData->setOrderImage("Depot"); ?></a>
    und die Function
    PHP-Code:
    <?php
      
    class usersession{
        var 
    $orderField;
        var 
    $orderDirection;
        var 
    $orderCounter=0;
        var 
    $whereStr='';
        var 
    $filterdata;
        var 
    $limit;
        var 
    $lastSite;
        var 
    $actPageNr 1;
        var 
    $counter=0;

        function 
    setOrderingInfo($field=""){
            
            if (
    $field == $this->orderField$this->orderCounter++;
            if (
    $this->orderCounter<3) {
                
    $this->orderField $field;
                
    $this->orderDirection = ($this->orderDirection == 'ASC') ? "DESC":"ASC";
                
    $this->orderCounter++;
            }
            else {
                
    $this->orderCounter 0;
                
    $this->orderField "";
                
    $this->orderDirection "";
            }
        }
        
        function 
    setOrderImage($field){
          if (
    $field == $this->orderField){
            if (
    $this->orderDirection == "ASC") echo '<img src="style/up.gif" \>';
            if (
    $this->orderDirection == "DESC") echo '<img src="style/down.gif" \>';
            else echo 
    "";
          }
          else {
            echo 
    "";
          }
        }

        function 
    getOrderString(){
            if (isset(
    $this->orderField) && $this->orderField != "") {
                return 
    " ORDER BY $this->orderField $this->orderDirection ";
            }
        }

      }
      
    ?>
    Das ganze funktioniert auch soweit schon teilweise (Tabelle wird ausgegeben, durch anklicken der Tabellenüberschrift läßt sich diese auf-/absteigend sortieren), nur möchte ich jetzt, das, wenn der Besucher die Ausgabeseite der Tabelle aufruft (also per Link die index.php aufruft), diese als erstes immer sortiert nach dem Feld Kunde und aufsteigend ausgegeben wird. Derzeit wird die Tabelle z.B. aufsteigend sortiert ausgegeben, klicke ich nochmal den Link an wird die Tabelle absteigend sortiert ausgegeben bei nochmaligem anklicken wieder aufsteigend usw.

    Wie kann ich dies realisieren ? Ich habe im Link schon alles mögliche mitgegeben, z.B. ...index.php?order=Kunde&sort=asc
    oder in der index.php den Link entsprechend angepaßt
    ...list.php?order=Kunde&sort=asc - leider ohne Erfolg.

    Hoffe nun das mir einer von euch weiterhelfen kann. Hierfür im voraus schon einmal vielen Dank.
    Zuletzt geändert von Testdirector; 03.09.2007, 16:02.

  • #2
    Lies und befolge unsere Regeln, dann antwortet vielleicht jemand...

    Kommentar


    • #3
      So, entsprechend angepaßt mit der Bitte um Hilfe. THX

      Kommentar


      • #4
        header("Location: list.php");
        Auch wenn's toleriert wurd, der Locationheader erwartet eine komplette url. http://...

        nur möchte ich jetzt, das, wenn der Besucher die Ausgabeseite der Tabelle aufruft (also per Link die index.php aufruft), diese als erstes immer sortiert nach dem Feld Kunde und aufsteigend ausgegeben wird.
        dann pass doch oben den location-header an, wenn du sowieso schon mal dran bist.

        oder in der index.php den Link entsprechend angepaßt
        ...list.php?order=Kunde&sort=asc - leider ohne Erfolg.
        Du verwendest den Begriff Link, aber es handelt sich nicht um einen Link. Trotzdem ist das die richtige stelle.

        Kommentar

        Lädt...
        X