Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 03-09-2007, 04:16
Testdirector
 Newbie
Links : Onlinestatus : Testdirector ist offline
Registriert seit: Apr 2007
Beiträge: 3
Testdirector ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy [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.

Geändert von Testdirector (03-09-2007 um 17:02 Uhr)
Mit Zitat antworten