Daten nach Datum ausgeben

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

  • Daten nach Datum ausgeben

    Hallo zusammen,

    kenn mich mit PHP und MYSQL net so dolle aus, einfach Abfragen bekomm ich hin aber nun wirds etwas komplizierter (für mich)

    Ich habe eine kompletten Fahrplan als Tabelle vorliegen. Wobei einige Züge täglich verkehren, andere nur Samstag oder Sonntags, andere an ganz bestimmten Tagen (z.B. 25.03.)

    Was jetzt kommt ist, das als Ausgabe nur die Züge angezeigt werden, die am heutigen Tag fahren. Heute ist Sonntag der 17.12. somit werden die angezeigt die Sonntags und dann noch extra am 17.12. fahren angezeigt. Morgen dann natürlich wieder andere Züge. Gibt es da irgendeine Möglichkeit, das zu realisieren, bin für jede Hilfe dankbar!

    Gruß und Dank im voraus

    Dennis

  • #2
    Hi,

    ja gibt es. Es hängt allerdings noch etwas vom genauen
    schema deiner daten ab.

    Wie sieht das denn aus ?

    greets
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

    Kommentar


    • #3
      Hallo,

      den Fahrplan bekomme ich noch reingereicht ich gehe aber davon aus, das es ein paar Standardsachen gibt.

      Abfahrt
      Zugnummer
      Linienverlau
      Gleis

      und dann würden dort weitere Folgen die dann wohl so aussehen:

      vt1
      vt2
      vt3
      vt4
      vt5
      vt6
      vt7
      vt8

      Wobei vt für Verkehrstag steht, der Wert würde dann lauten

      Montag
      Dienstag
      Mittwoch
      Donnerstag
      Freitag
      Samstag
      Sonntag
      Datum (dies nur, wenn ein Zug nur an einem ganz best. Tag im Jahr fährt)

      Danke

      Dennis

      Kommentar


      • #4
        werden die daten in eine db gespeichert? welche? wie sieht die tabelle dazu aus? es läuft letzten endes auf ein geschicktes WHERE statement aus..

        Kommentar


        • #5
          Hallo,

          also eine MYSQL Datenbank in der die DB fahrplanserver sein wird.

          Die Tabellen werden wohl letztenendes so aussehen:

          Abfahrt
          Zug
          Zugname
          Linienverlauf
          Gattung
          Gleis
          Montag
          Dienstag
          Mittwoch
          Donnerstag
          Freitag
          Samstag
          Sonntag
          Datum1
          Datum2
          Datum3
          Datum4

          Für Montag bis Sonntag würde dort ein Ja oder Nein stehen, steht dort Ja bei Montag wird der Zug an einem Montag angezeigt usw. Steht dort ein Nein würde der Zug nicht angezeigt werden. Da es noch Züge gibt die nur an ganz speziellen Tagen im Jahr verkehren, z.B. 25.03.2007 würde das bei Datum1 stehen und der Zug würde am 25.03. angezeigt werden unabhängig davon, was bei Mo-So steht.

          Gruß

          Dennis

          Kommentar


          • #6
            was ist, wenn ein zug mehr als 4 sondertermine hat?
            dafür muss man eine neue tabelle anlegen.

            vorschlag:

            tabelle "züge":
            - id
            - name (linie oder was auch immer)

            tabelle "fahrten":
            - id
            - zug_id
            - zeit (vom typ TIME)
            - wochentage (*)
            - andere infos (gleis etc.)

            tabelle "sonderfahrten":
            - id
            - zug_id
            - datum (DATE oder DATETIME)

            zu (*):
            ich würde ein wenig in die trickkiste greifen und BIT (http://mysql.org/doc/refman/5.0/en/b...ld-values.html) vorschlagen - dieser datentyp passt in ein byte und eignet sich hervorragend, um mittels bitmaskierung die wochentage zu kodieren, an denen der zug fährt. z.b.:
            fährt der zug werktags, schreiben wir 1111100 in die db. fährt er nur dienstags und am wochenende, schreiben wir 0100011.

            für das where statement müsste man nun einen bitstring vorbereiten, der dem heutigen tag entspricht. heute (sonntag) wäre es 0000001. fragt man nun in der db nach
            Code:
            ... WHERE (`wochentage` & b'$bitstring') != 0
            werden nur fahren selektiert, die am sonntag stattfinden. sortieren wir diese nach uhrzeit, haben wir bereits einen fahrplan für heute. ein JOIN für die zug-informationen und eine extra abfrage (evtl. mit UNION, wenn es sinn macht) für die sonderfahrten.

            Kommentar

            Lädt...
            X