kostenloser Webspace werbefrei: lima-city


Dauerauftrag

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    Hallo,

    ich muss für einen Kunden ein Verwaltungsprogramm schreiben, in dem man die Aufträge der Stadt verwaltet (Rasenmähen...^^)

    nun: ich nähere mich meinem Ende des Projekt. Doch eine schwierige aufgabe liegt noch vor mir: er möchte, dass es möglich ist Daueraufträge zu haben. Leichter gesagt als getan. Es soll die möglichkeit geben: Täglich, Wöchentlich, 2 Wöchentlich, Monatlich seine Aufträge zu plazieren. Natürlich dürfen Samstags und Sonntags KEINE Aufträge plaziert werden.

    Leider fällt mir dazu keine bessere Lösung ein als diese hier:

    Datenbank:
    AuftragsID
    Montag
    Dienstag
    Mittwoch
    Donnerstag
    Freitag
    Tag1
    Tag2

    bei täglich würde die Datenbank aktiviert mit
    Montag 1, Dienstag 1, Mittwoch 1, Donnerstag 1, Freitag 1, Tag1 0, Tag2 0
    bei wöchentlich würde man dann z.B. sagen
    Montag 0, Dienstag 0, Mittwoch 1, Donnerstag 0, Freitag 0, Tag1 0, Tag2 0
    bei 2 Wöchentlich müsste man dann sagen
    Montag 0, Dienstag 0, Mittwoch 0, Donnerstag 0, Freitag 0, Tag1 12, Tag2 27
    bei Monatlich
    Montag 0, Dienstag 0, Mittwoch 0, Donnerstag 0, Freitag 0, Tag1 12, Tag2 0

    Danach müsste ich z.B. für Montag den 12.12.2008 abfragen:
    ist irgendwo Montag auf 1?
    stimmt irgendwo der Tag1 oder der Tag2 überein?
    gibt es ein Datum, dass am Samstag oder am Sonntag war und deshalb auf den Tag verschonben werden muss?


    Das ist eine RIESEN Arbeit. Gibt es vielleicht irgendeine möglichkeit, wie ich das kürzen könnte?
    Es hat doch bestimmt schon einer von euch sowas ähnliches gemacht oder?


    danke im Vorraus für eure Ideen. Denn das wird ja ewig dauern..
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. d*****e

    Hi,
    ich würde das so machen:

    Deine Tabelle sollte wie folgt aussehen:

    Montag | Dienstag | Mittwoch | Donnerstag | Freitag | Datum


    Und dann trägst du in der Spalte das Anfangsdatum ein. Bei den Wochentagen legst du dir dann eine Kodierung fest. z.B.:

    0 = Nur der Tag
    1 = Wöchentlich
    2 = Alle 2 Wochen
    3 = Monatlich

    Das würde dann so aussehen:

    Montag | Dienstag | Mittwoch | Donnerstag | Freitag | Datum
    1___________1_______1_______2______3______09.09.2009

    Dann würde ab dem 09.09.2009 einmal am Montag, Dienstag & Mittwoch etwas getan werden, jede woche am Donnerstag & einmal im Monat am Freitag.

    Ich weiß nicht ob das so alles gut durchdacht ist, aber das wäre zumindest mein Lösungsansatz.

    Gruß
    DCBlaze


    Beitrag geändert: 9.10.2008 13:09:20 von dcblaze


    Beitrag geändert: 9.10.2008 13:10:03 von dcblaze
  4. Du könntest für die Wochentage mit einem Flag machen. Und setzt dann MONTAG (=1) ...
  5. b******r

    Ich kenne mich mit sowas überhaupt nicht aus - aber interessehalber:
    Was passiert mei dieser Lösung mit den Feiertagen?
  6. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    @dcblaze:

    danke für deinen Tipp. Das Problem ist bei deiner sache 1: ich weiß nicht, welcher auftrag wöchtentlich, welcher alle 2 wochen... gemacht werden soll.


    @xi-blog:

    keine ahnung, ob ich deine Sache jetzt richtig verstanden habe: MONTAG - FREITAG sind sowieso bool werte. Oder was meinst du?

    @bewahrer:

    das ist auch so ein Problem. Ich werde es am anfang so einrichten müssen, dass der Kunde sie selber verschiebt. (muss er ja immer können. Manchmal ist es ja z.B. wegen Arbeitermangel garnicht möglich einen Auftrag auszuführen)


    dcblaze hat mich aber auf eine Idee gebracht denke ich. Man könnte ein zwischenteil machen:

    Datenbank:
    AuftragsID
    Montag
    Dienstag
    Mittwoch
    Donnerstag
    Freitag

    0 = Nur der Tag
    1 = Wöchentlich
    2 = Alle 2 Wochen gerade
    3 = Alle 2 Wochen ungerade
    4 = Monatlich gerade 1
    5 = Monatlich gerade 2
    6 = Monatlich ungerade 1
    7 = Monatlich ungerade 2


    bei täglich würde die Datenbank aktiviert mit
    AuftragsID Montag Dienstag Mittwoch Donnerstag Freitag
    87_________0______0__________7________0___________0______


    das würde vielleicht ein bisschen zeit beim Programmieren sparen. Ist aber immernoch vorallem beim Monat aufwändig (wahrscheinlich sogar aufwändiger als einfach den Tag hinten hinzuschreiben...

  7. @xi-blog:

    keine ahnung, ob ich deine Sache jetzt richtig verstanden habe: MONTAG - FREITAG sind sowieso bool werte. Oder was meinst du?


    siehe http://de.wikipedia.org/wiki/Flag_(Informatik)

    D.h. du hast nur eine Zahl, in der alle Bool-Werte für MONTAG-FREITAG gespeichert sind.

    Das funktioniert auf binärer Basis (0=false; 1=true):
    Montag = 1 (2^0)
    Dienstag = 2 (2^1)
    Mittwoch = 4 (2^2)

    Woche = Montag&Dienstag = 1+2 = 3 (=11)
  8. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    aah, interessant.

    Würde zwar etwas speicherplatz sparen wäre aber auch viel übersichtlicher oder?

    (und ist leider nicht auf 2 wöchentlich und monatlich anwendbar...)

    ansonsten coole sache...
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!