Siden der er en en-til-en relation mellem en butik og for eksempel dens mandags åbningstid vil jeg foreslå en tabel butik med butiks-id, de nødvendige kontaktoplysninger (adresse, telefon, ..) og derefter felterne mandagstart, mandagslut, tirsdagstart, tirsdagslut, o.s.v.
Men der er en en-til-mange relation mellem en butik og dens undtagelser. Derfor vil jeg foreslå en særskilt tabel undtagelser med felter som id, butik, dato, bemærkning. Hvis der er undtagelser der ikke er knyttet til en bestemt dato, såsom 'sommeråbent fra 20.00-22.00 i juli og august' lades dato feltet tomt.
Så søger du efter $result = mysql_query("SELECT * FROM butik LEFT JOIN undtagelser ON butik.id = undtagelser.butik WHERE butik.id = $butik").
Synes godt om
Slettet bruger
16. december 2011 - 09:07#2
Jeg har alle oplysninger om butikkerne i én tabel.
Min første tanke var at lave en tabel med følgende felter: shopid weekday open close
Feltet weekday kan indeholde dagene: MON, TUE, WED, THU, FRI, SAT, SUN
De poster hvor der er angivet noget i weekday, vil open og close være klokkeslet, f.eks. 1200
Er feltet weekday tomt, vil open og close indeholde unix timestamps for undtagelserne.
På en eller anden måde synes jeg det virker forkert at have 2 forskellige formater i open/close, men det kan været det bare er mig?
For det første, jeg beklager den sene reaktion, jeg har været uden internet forbindelse et par dage. Hvis jeg forstår dig rigtigt, så siger vi et langt stykke vej samme. Du har (tror jeg) en tabel med alle generelle oplysninger om butikker, en række for hver butik og hvor hver butik har en id. Så har du en tabel med åbningstider, hvor der er en en-til-mange relation mellem butikker og åbningstider. Denne anden tabel med en-til-mange relation er du nødt til at have for undtagelserne hvis du skal kunne have mere end en undtagelse for en butik. Da jeg startede med at besvare dit spørgsmål var jeg allerede, rutinemæssigt, begyndt at foreslå netop den tabel du beskriver. Men eftersom en enkel butik (formentlig) kun har en mandags åbningstid og en mandags lukketid, så er der en en-til-en relation mellem butikken og mandags åbningstiden. Og ligeledes med de andre ugedage åbningstider. Derfor har du valget mellem at placere ugedags åbningstiderne i hovedtabellen eller i den anden tabel. Så den løsning du beskriver er nok lige så god som den jeg foreslog.
Synes godt om
Slettet bruger
19. december 2011 - 09:51#4
Tak for din deltagelse i tråden. Altid rart med et andet blik på ens idéer.
Så er jeg hjemme ved computeren igen. Her er et svar fra mig.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.