[SQL allgemein] datensätze nach best. datum sortiert

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

  • [SQL allgemein] datensätze nach best. datum sortiert

    Hallo!
    ich möchte versteckt (also so, dass man es im formular nicht mitbekommt) in eine spalte das datum + uhrzeit automatisch eintragen lassen....
    bisher hab ich TIMESTAMP + CURRENT_TIMESTAMP genutzt, um beim datensatz eintrag die aktuelle zeit anzuzeigen.

    jetzt möchte ich per normaler abfrage nur die datensätze mit einem bestimmten datum ausgeben lassen, allerdings weiss ich nicht wie

    ich habs bisher nur so, dass ich das datum manuell eintragen probiert:
    PHP-Code:
    $abfrage "SELECT * FROM bestellung WHERE datum > '2007-09-26'";
        
    $ergebnis mysql_query($abfrage);
        while (
    $row mysql_fetch_object($ergebnis))
        {
        echo 
    $row->datum;
        echo 
    " - ";
        echo 
    $row->lieferant;
        echo 
    " - ";
        echo 
    $row->nummer;
        echo 
    " - ";
        echo 
    $row->gericht;
        echo 
    " - ";
        echo 
    "$row->preis<br>";
        } 
    Durch das > Zeichen werden alle datensätze angezeigt, die nach 00:00:00 Uhr eingetragen wurden. ...So soll es ja auch sein...

    aber wie krieg ich es hin, dass nur das aktuelle datum angezeigt wird? ...also die datensätze des aktuellen datums...?!

  • #2
    achso ja ...ich habs auch mit CURDATE() probiert, allerdings steig ich irgendwie nicht dahinter, wie das ganze funktioniert!

    Kommentar


    • #3
      Ich bekomme Bauchschmerzen, wenn ich sowas wie WHERE datum > '2007-09-26' sehe. MySQL bietet mächtige Funktionen für den Umgang mit Zeiten, also sollte man die auch nutzen, statt sich auf der Tatsache auszuruhen, dass "y-m-d h:i:s" auch Stringvergleichen standhält.

      Deshalb empfehle ich nicht die naheliegende Lösung AND datum < '2007-09-27' sondern WHERE DATE(datum) = CURDATE().

      BTW: Ich gehe davon aus, dass datum eine DATE oder DATETIME Spalte ist.
      Zuletzt geändert von onemorenerd; 26.09.2007, 11:22.

      Kommentar


      • #4
        datum ist eine TIMESTAMP spalte und ich habs jetzt auch geknackt mit WHERE datum = CURDATE();

        Kommentar


        • #5
          Eine Antwort hast du ja hier schon gekriegt. Die von onemorenerd ist allerdings besser.
          Gruss
          H2O

          Kommentar


          • #6
            jo stimmt schon, allerdings hab ichs jetzt so... und so lass ichs auch,...oder gibts nen grund, das nicht so zu lassen?

            PHP-Code:
            $abfrage "SELECT * FROM bestellung WHERE DATE(b_datum) = CURDATE() ORDER BY b_datum ASC";
                
            $ergebnis mysql_query($abfrage);
                while (
            $row mysql_fetch_object($ergebnis))
                {
                echo 
            $row->b_datum;
                echo 
            "&nbsp;-&nbsp;";
                echo 
            $row->lieferant;
                echo 
            "&nbsp;-&nbsp;";
                echo 
            $row->nummer;
                echo 
            "&nbsp;-&nbsp;";
                echo 
            $row->gericht;
                echo 
            "&nbsp;-&nbsp;";
                echo 
            "$row->preis&euro;<br>";
                } 

            Kommentar


            • #7
              ,...oder gibts nen grund, das nicht so zu lassen?
              Ja, das
              Gruss
              H2O

              Kommentar

              Lädt...
              X