Datum in Tabelle sortieren

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

  • Datum in Tabelle sortieren

    Hallo Forum,
    ich habe eine Sortiermöglichkeit in eine dyn. erzeugte Tabelle eingebaut.
    Es soll die Möglichkeit bestehen nach auf- bzw. absteigendem Datum zu sortieren. Ich nutze eine Session-Variable die entweder aus "ASC" oder "DESC" steht und im SQL Statement eingebaut wird
    PHP-Code:
    // START - Sortierung des Datums
    if(!isset($order_default))

        
    $order_default "ASC";
        
    $order $order_default;
    }
    if(!isset(
    $_SESSION["order"]))
    {
        
    $_SESSION["order"] = $order_default;
        
    $order $_SESSION["order"];
    }
    elseif(
    $_SESSION["order"] == "ASC")
    {
        
    $order "DESC";
        
    $_SESSION["order"] = $order;
    }
    else
    {
        
    $order "ASC";
        
    $_SESSION["order"] = $order;
    }
    // ENDE - Sortierung des Datums

    //SQL Statement
    $sql "SELECT EVENT_ID, TITEL, .........TELEFON, EMAIL FROM DB.EK_EVENTS ORDER BY START_DATUM " .$order
    Über einen Link im Tabellenkopf starte ich die Sortierung
    PHP-Code:
    <? echo "<a href='loeschen.php?ORDER=" . $_SESSION['order'] ."'>Startdatum</a>
    Es gibt noch eine "aendern.php" und "alle_anzeigen.php" die ebenfalls
    die Sortierung nutzen - aber mit eigenen Session-Variablen.
    Jetzt hab ich dass Problem dass ich beim Wechseln , und danach beim
    Zurückkehren auf die Seite die Sortierung ändere, da sie in der Session gespeichert ist. Es soll aber beim Neuaufruf der Seite immer ASC sortiert werden. Wie könnte ich das lösen - statisch? aber wie?

    Danke und Gruß
    Tolwin

  • #2
    Also ich verstehe den Zweck deiner Variablen - Umsortiererei da nicht so ganz. Woher beziehst du denn deinen Sortierwunsch?
    Wenn der aus einem Formular kommt (habs gefunden, kannst ja dann anstelle Request Get nehmen), kannst du doch einfach am Anfang deines Scriptes schreiben

    PHP-Code:
    if (!isset($_SESSION['order'])) $_SESSION['order'] = 'ASC'
    und dann

    PHP-Code:
    if (isset($_REQUEST['order'])) {
      
    $_SESSION['order'] = $_REQUEST['order'];

    machen.


    In deinem Query benutzt du dann einfach die Sessionvariable
    PHP-Code:
    "...  DB.EK_EVENTS ORDER BY START_DATUM " .$_SESSION['order'
    Vergiss aber nicht die vom Formular übergebenen Daten zu überprüfen!
    Zuletzt geändert von frabron; 10.08.2005, 10:27.

    Kommentar


    • #3
      Werde es mal versuchen.
      Kann sein, dass ich zu umständlich gedacht habe.
      Danke und Gruß
      Tolwin

      Kommentar


      • #4
        Habe es mal versucht
        PHP-Code:
        if (!isset($_SESSION['order'])) { $_SESSION['order'] = "ASC"; }
        if (isset($_GET['ORDER'])) {$_SESSION['order'] = $_GET['ORDER']; }

        $sql = "SELECT EVENT_ID, TITEL.......TELEFON, EMAIL FROM DB.EK_EVENTS ORDER BY START_DATUM " .$_SESSION['order'];

        //Sortierlink Startdatum
        <? echo "<a href='alle_events.php?ORDER=" . $_SESSION['order'] ."'>Startdatum</a>
        mir ist noch nicht klar wie das funktionieren soll?

        Kommentar


        • #5
          Keine Ahnung wo jetzt dein Problem ist. Deine Fehlerbeschreibung lässt da etwas zu wünschen übrig.

          Wenn du hängst, weil du nicht weisst, wie du sortieren sollst, mach doch deinen Link etwa so

          Code:
          <a href='alle_events.php?ORDER="ASC">Auf ...
          <a href='alle_events.php?ORDER="DESC">Ab ...

          Kommentar


          • #6
            Hab es jetzt anders gelöst:
            PHP-Code:
            if (!isset($_SESSION['order_loeschen'])) { $_SESSION['order_loeschen'] = "ASC"; }
            if($_GET['ORDER'] == "ASC") 
            {
                $_SESSION['order_loeschen'] = "DESC";
            }
            else
            {
                $_SESSION['order_loeschen'] = "ASC";
            }
            $sql = "SELECT EVENT_ID, TITEL......., EMAIL FROM DB.EK_EVENTS ORDER BY START_DATUM " .$_SESSION['order_loeschen'];

            //LINK
            <? echo "<a href='loeschen.php?ORDER=" . $_SESSION['order_loeschen'] ."'>Startdatum</a>
            Gruß
            Tolwin

            Kommentar


            • #7
              In der Query nicht bei ORDER angeben ist das selbe als wenn du ASC hhinschreibst. ASC ist die standardsortierung.

              Kommentar

              Lädt...
              X