Statistik  Mitglieder gesamt: 68573  Mitglieder online: 2  Gäste online: 3 mehr...
Anzeige
| Thread: Datenbankstruktur
 24.06.2009 18:44 Uhr
|
|
|
|
|
Hallo,
ich möchte gerne in einer Mysql Datenbank Öffnungszeiten speichern. Allerdings habe ich keine Idee wie ich die abspeichern soll. Und zwar soll man über eine Maske Öffnungszeiten eintragen können.
Nun gibt es die ja in den verschiedensten Formaten: Wenn man Glück hat Mo-Fr von 07:00 - 22:00 Uhr, das wäre ja kein Problem. Aber dann gibt es welche die haben über Mittag geschlossen, an bestimmten Tagen Ruhetage, Montags andere Öffnungszeiten als Dienstags und und und...
Zusätzlich soll es dann noch die Möglichkeiten geben, Sonderöffnungszeiten einzutragen, aber das dürfte ja mit einer Abfrage vorher erledigt werden können.
Nun hatte ich überlegt, dass man für jeden Wochentag 2 Öffnungszeiträume angeben kann...
Also z.B.: Montags 08:00 - 12:00 Uhr und 15:00 - 18:00 Uhr. Wenn man dann Mittwochs wieder andere Öffnungszeiten hat, dann ist das so ja wohl ganz in Ordnung.. Wenn jetzt aber ein Laden jeden Tag von 10:00 - 18:00 Uhr aufhat, ist es schon wieder nervig, es für jeden Tag eintragen zu müssen.
Naja, für Tipps bin ich erstmal dankbar ;)
lg,
Steffen
 1 mal bearbeitet
|
|
 24.06.2009 19:11 Uhr
|
|
|
|
|
Ich glaube, am sinnvollsten wäre es, für jede Zeit einen eigenen Eintrag zu generieren:
| Tag | Von | Bis[/head] |
|---|
| Mo | 07:00 | 12:00 | | Mo | 15:00 | 18:00 | | Di | 07:00 | 12:00 | | Di | 15:00 | 18:00 | | Do | 07:00 | 12:00 | | Do | 15:00 | 18:00 | | Fr | 07:00 | 12:00 | | Fr | 15:00 | 20:00 | | Sa | 08:00 | 14:00 |
Und das ganze muss das Script dann weiter verarbeiten
 1 mal bearbeitet
|
|
 24.06.2009 19:25 Uhr
|
|
|
|
|
Nur so von der Idee (ohne großartige Ansätze zur Umsetzung): Da gibt es bei Kalendern ja ähnliche Möglichkeiten. zB kann man ja da oft wiederholende Ereignisse eintragen, Ausnahmen angeben etc. Vielleicht guckst du dir dazu mal so Standards wie iCal an. Siehe dazu hier und hier.
Von der Idee her meine ich sowas: Eine Entität in deiner Tabelle entspricht einem Kalendereintrag und müsste als Spalten die einzelnen Attribute des iCal-Standards enthalten. Eingabe über die Benutzerschnittstelle wäre kein Problem (man muss ja schließlich nur die Daten validieren und ggf. in das korrekte Format transformieren) Anschließend legst du für jeden Zeitraum (also zB "Mo, 7:00-13:00") einen Eintrag an und gibst mit Hilfe der Infos aus dem RFC-Dokument unter Abschnitt 4.3.10 die Wiederholungen an. Falls du tatsächlich nur die Öffnungszeiten eines Unternehmens speichern willst, könntest du vielleicht auch die RFC-Spez etwas zurechtschneiden und nur die benötigten Sachen implementieren (also quasi die Wiederholungen und einfache Termine).
___________________________ Fatal Error: Uncaught exception 'UnexpectedValueException' with message 'No Signature' in /cybton/src/index.php:38274
#0 /cybton/src/profile.php(2843): Profile->showSignature()
#1 /cybton/src/forum.php(2843): Thread->showPost()
#2 {main}
|
|
 24.06.2009 20:57 Uhr
|
|
|
|
|
Du könntest auch überlegen, ob man nicht die Struktur von klasse7darg verwenden könnte, und das Handling fürs User-Interface ein wenig vereinfacht.
Also wenn der User eingibt "Mo-Fr", dann wird das beim Speichern in die einzelnen Tage aufgesplittet.
Oder man gibt einen Eintrag ein und wählt bei den anderen Tagen "Wie Montag" aus.
Oder man gibt einen Eintrag ein und kann dann diese Werte in andere Zeilen kopieren (zB per JavaScript).
Also da gibts sicherlich mehrere Ansätze, wie man das lösen könnte.
Für mich stellt sich die Frage, was du damit vor hast. Wenn du eine Abfrage machen willst "Wer hat am heutigen Tag um 10 Uhr geöffnet", dann ist das Schema von klasse7darg völlig ok.
Wenn es aber zB darum geht, welcher Shop am öftesten und längsten geöffnet hat, dann wäre das in dieser Form vielleicht eher etwas mühsam.
Wenn es nur darum geht, die Inhalte strukturiert anzuzeigen, dann würde vielleicht ein "Tag | Von | Bis" reichen, wo man bei "Tag" auch "Mo-Mi" eintragen kann. Wenn damit nicht irgendwie "gerechnet" werden muss, wär's hübsch egal...
LG, bmk.
|
|
 24.06.2009 23:24 Uhr
|
|
|
|
|
Also es geht mir um folgendes: Ich möchte für meinen Ort ein einfaches Verzeichnis machen, wo User Öffnungszeiten der verschiedenen Geschäfte / Behörden / usw. eintragen können.
Dabei sollen die Öffnungszeiten für ein bestimmtes Geschäft
a) strukturiert wiedergegeben werden können
b) ausgewertet werden können, ob dieses gerade geöffnet hat.
Möglicherweise wäre auch eine Funktion interessant, welche Geschäfte einer gewissen Branche z. Zt. geöffnet haben.
Vielen Dank schon mal für die Anregungen, ich werde mich morgen mal genauer damit auseinander setzen... ist schon spät^^
Achja, hätte vielleicht jemand eine Idee wie man Feiertage einbringen könnte? Gibt irgendwie Daten die man einbinden kann, so dass man nicht jeden Feiertag eingeben muss? Da es sich alles auf das gleiche Bundesland bezieht sind es ja immerhin einheitliche Feiertage. Naja, verkaufsoffene Sonntage usw müsste man ja auch als Sonderöffnungszeit eintragen...
 2 mal bearbeitet
|
|
 24.06.2009 23:49 Uhr
|
|
|
|
|
Für iCal gibt es Dateien, die die Feiertage beinhalten. Die müssten dann nur importiert werden.
___________________________ Fatal Error: Uncaught exception 'UnexpectedValueException' with message 'No Signature' in /cybton/src/index.php:38274
#0 /cybton/src/profile.php(2843): Profile->showSignature()
#1 /cybton/src/forum.php(2843): Thread->showPost()
#2 {main}
|
|
|