Datensatz für Monat/Jahr filtern

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

  • Datensatz für Monat/Jahr filtern

    Hallo,
    Wie filtere ich in SQL das feld Datum, das mir nur die Felder gelistet werden, welche gleich dme Monat und dem jahr sins?
    Monat und Jahr sind 2 Felder im php script!
    Und ich will per SQL nur die daten welche = Monat und = Jahr des php scriptest sind!
    gruß
    MfG dutt

  • #2
    Geht das auch auf deutsch ... ?!
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Re: Datensatz für Monat/Jahr filtern

      http://www.mysql.de/doc/de/Date_and_time_functions.html
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        danke, hab nun die Abfrage soweit, das ich das aktuelle datum bekomme und das Datum des Feldes "Datum"

        Meine Abfrage will aber nicht sorecht! Wenn ich hinten das AND ... weg lasse, bringt mein mysql_fetch_array() keine Fehlermeldung!
        Aber wenn ich das WHERE mit AND starte, meckert er... ich will nur die daten haben wo AKMONAT = jetziger Monat --> MONTHNAME(now())

        PHP-Code:
        $sql "SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, MONTHNAME(DATUM) AS AKMONAT
        FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR 
        WHERE ((MITARBEITER.PERSONAL_NR ='
        $id2') AND (AKMONAT = MONTHNAME(NOW()))"
        MfG dutt

        Kommentar


        • #5
          du darfst keine Aliasnamen in where verwenden.

          Kommentar


          • #6
            du hast natürlich mysql_error() nach deiner abfrage ausgeben lassen - ergebnis?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              folgende Fehlermeldung:

              You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
              SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, MONTHNAME(DATUM) AS AKMONAT
              FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR
              WHERE ((MITARBEITER.PERSONAL_NR ='0001') AND (MONTHNAME(DATUM) = MONTHNAME(NOW()))

              Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Projekt\xamp\xampp\htdocs\test\istunden2.php on line 67

              bei JETZIGEM SQL code:

              PHP-Code:
              $sql "SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, MONTHNAME(DATUM) AS AKMONAT
              FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR 
              WHERE ((MITARBEITER.PERSONAL_NR ='
              $id2') AND (MONTHNAME(DATUM) = MONTHNAME(NOW()))"
              habe den aliasnamen nun im WHERE weg gelassen! funzt aber dennoch nicht!

              so besser?
              Zuletzt geändert von dutt; 29.04.2004, 11:32.
              MfG dutt

              Kommentar


              • #8
                formatier die abfrage mal so,dass man sie lesen kann (auch in deinen beiträgen obendrüber)

                du kannst ja testweise für jedes schlüsselwort und für jede spalte eine zeile machen und dann die abfrage nochmal ausführen, das sollte dir zumindest eine hilfreichere fehlermeldung (bezogenauf die zeilenzahl) liefern
                PHP-Code:
                $sql "SELECT 
                  ISTUNDEN.DATUM, 
                  MITARBEITER.PERSONAL_NR, 
                  ISTUNDEN.ANFANGSZEIT, 
                  ISTUNDEN.ENDEZEIT, 
                  ISTUNDEN.PAUSE, 
                  ISTUNDEN.KURZTEXT, 
                  ISTUNDEN.KENNZEICHEN, 
                  MONTHNAME(DATUM) AS AKMONAT
                FROM 
                  ISTUNDEN 
                  RIGHT JOIN 
                    MITARBEITER 
                      ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR WHERE 
                ((MITARBEITER.PERSONAL_NR ='
                $id2') 
                AND 
                (MONTHNAME(DATUM) = MONTHNAME(NOW()))"

                sicher, dass deine klammerung stimmt?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Original geschrieben von dutt

                  habe den aliasnamen nun im WHERE weg gelassen! funzt aber dennoch nicht!
                  WAS funz nicht? es wird nichts zurückgegeben oder mysql meckert wieder?

                  Kommentar


                  • #10
                    mysql meckert wieder, schätzungsweise wegen der letzten zeile, weil da jemand der meinung ist, 5 schließende runde klammern reichen für 6 öffnende runde klammern

                    am besten wäre es, alle rauszunehmen, aber du kannst auch noch x öffnende und x+1 schließende dazunehmen wenn du willst
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      PHP-Code:
                      $sql "SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, MONTHNAME(DATUM) AS AKMONAT
                      FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR
                                      WHERE ((MITARBEITER.PERSONAL_NR ='
                      $id2') AND
                                      (MONTHNAME(DATUM) =
                                      MONTHNAME(NOW()))"

                      Fehlermeldung:
                      You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
                      SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, MONTHNAME(DATUM) AS AKMONAT FROM ISTUNDEN RIGHT JOIN MITARBEITER ON ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR WHERE ((MITARBEITER.PERSONAL_NR ='0001') AND (MONTHNAME(DATUM) = MONTHNAME(NOW()))

                      LINE 5 ist MONTHNAME(NOW()))";

                      ok, aber ich habe nach den klammern geschaut, und die stimmen soweit! hmmm... kann SQL im WHERE Abschnitt now() überhaupt ausführen?
                      MfG dutt

                      Kommentar


                      • #12
                        Original geschrieben von dutt
                        ich habe nach den klammern geschaut, und die stimmen soweit!
                        nein
                        kann SQL im WHERE Abschnitt now() überhaupt ausführen?
                        ja
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          (
                          (
                          MITARBEITER.PERSONAL_NR ='$id2'
                          )
                          AND
                          (
                          MONTHNAME
                          (
                          DATUM
                          )
                          = MONTHNAME
                          (
                          NOW
                          (
                          )
                          )
                          )

                          *rechen*

                          lol, stimmt! ich machs mir zu kompliziert! dank dir
                          MfG dutt

                          Kommentar


                          • #14
                            warum lässt du die klammern eigentlich nicht ganz weg?
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              hab ich mir durch Access angewöhnt!
                              MfG dutt

                              Kommentar

                              Lädt...
                              X