Max: Veraltete Daten ausblende

Hi
ich hab eine MySql-Datenbank in der ua eine Spalte Datum (Typ Data) existiert.
Jetzt möchte ich, dass immer nur die aktuellen Einträge angezeigt werden.
Habe das folgendermaßen probiert:
$timestamp = time();
$today = date("Y-m-d",$timestamp);
$resultDP = mysql_query("SELECT * FROM " . $db_*. " ORDER BY Datum WHERE (Datum<'".$today."')") or die("Anfrage fehlgeschlagen: " . mysql_error());

bekomme jetzt jedoch immer einen Syntax-Fehler bei der where-Abfrage. Was mache ich falsch?
schonmal danke
Gruß
  Max

  1. Hallo Max.

    Hi
    ich hab eine MySql-Datenbank in der ua eine Spalte Datum (Typ Data) existiert.
    Jetzt möchte ich, dass immer nur die aktuellen Einträge angezeigt werden.
    Habe das folgendermaßen probiert:

    $timestamp = time();

    $today = date("Y-m-d",$timestamp);
    $resultDP = mysql_query("SELECT * FROM " . $db_*. " ORDER BY Datum WHERE (Datum<'".$today."')") or die("Anfrage fehlgeschlagen: " . mysql_error());

    
    >   
    > bekomme jetzt jedoch immer einen Syntax-Fehler bei der where-Abfrage. Was mache ich falsch?  
      
    Du verwendest keinen Editor mit Syntax-Highlighting. Dann hättest du erkant, dass du versuchst den Inhalt von $db\_ mit dem Stringverknüpfungsoperator zu multiplizieren.  
      
      
    Einen schönen Montag noch.  
      
    Gruß, Mathias  
    
    -- 
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
      
    debian/rules
    
    1. :) Danke
      das * hab ich aber nur gesetzt weil nicht jeder meinen Datenbank namen wissen muss. War dumm da nen * zu wählen. Also meine Abfrage funktioniert wunderbar wenn ich das WHERE-Zeugs weglasse. Muss irgendwo da nen Fehler sein :(

      aber danke für die schnelle Antwort
      Max

      1. Hallo,

        muss das ORDER BY... nicht nach der WHERE-Klausel kommen?

        Grüße Basti

        1. Hallo basti_p.

          muss das ORDER BY... nicht nach der WHERE-Klausel kommen?

          Völlig korrekt. Hatte ich gar nicht mehr beachtet.

          Einen schönen Montag noch.

          Gruß, Mathias

          --
          ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
          debian/rules
          1. ok thx...hab das jetzt so:
            $timestamp = time();
            $today = date("Y-m-d",$timestamp);
            $resultDP = mysql_query("SELECT * FROM " . $db . " WHERE (Datum<'".$today."') ORDER BY Datum")

            die Fehlermeldung ist schonmal weg (THX!!!), aber ich bekomme immernoch alle Datensätze angezeigt?!? noch eine Idee woran es liegen könnte?
            Hat das vll was mit dem timestamp zu tun oderso?
            max

            1. Hallo Max,

              $timestamp = time();
              $today = date("Y-m-d",$timestamp);

              das mit dem $timestamp ist hier überflüssig, allerdings ...

              $resultDP = mysql_query("SELECT * FROM " . $db . " WHERE (Datum<'".$today."') ORDER BY Datum")

              brauchst du das heutige Datum überhaupt nicht mit PHP erzeugen, dass kann MySQL selbst:
                SELECT [link:http://www.php-faq.de/q/q-sql-select.html@title=*] FROM tabelle WHERE Datum >= [link:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_now@title=NOW()] ORDER BY Datum

              die Fehlermeldung ist schonmal weg (THX!!!), aber ich bekomme immernoch alle Datensätze angezeigt?!?

              Du bekommst nicht alle Datensätze angezeigt, sondern alle veralteten - wenn du nur die Datensätze haben willst, deren Datum in der Zukunft liegt, musst du > verwenden, nicht < (bzw. >= um auch die Datensätze vom aktuellen Tag zu bekommen; ich habe es in meinem Code oben schon geändert)

              Grüße aus Nürnberg
              Tobias

              1. ok vielen dank.
                jetzt klappts wunderbar!!
                max