Jeg er i øjeblikket igang med et projekt på teknisk skole, hvor jeg skal lave et hotel bookings system.
når man har lavet en bookning, bliver der sat en start og en slut dato i en tabel kaldet 'booking'
når man så laver en ny bookning, skal det ikke kunne lade sig gøre at booke et værelse som allerede er booket i en valgt periode.
har fået dette: SELECT room.roomnr,room.id FROM room LEFT JOIN booking ON room.id=booking.v_nr AND booking.start >= "27-07-04" AND booking.slut <= "30-07-04" WHERE booking.v_nr IS NULL
det virker stadig ikke helt..
scriptet virker dog, hvis de to datoer er de samme, altså dem man indtaster, og dem som står i DB, men vælger man feks d. 26-07-04 til den 31-07-04 burde man ikke få nogle værelse, men det gør man ( skal lige siges at der står en bookning fra den 27-07-04 til den 30-07-04 i DB)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
En måde at gøre det på, men ikke helt optimalt er at vende datoen om. så fx. 27-07-04 bliver til 040727. Hvis du bruger det format kan du bruge større og mindre end som du bruger i eksemplet.
= virker fordi det er præcist det samme, men større og mindre end virker ikke fordi du blandet tal og bogstaver sammen (- = bogstav).
hvordan ville du lave den funktion. når jeg indsætter det hele i databasen, der kan jeg vel også bare skrive det ind som 270704 istedet for 27-07-04.. ville det´hjælpe..
har skrevet det sådan i php ...b.start >= '040519' AND b.slut <= '040522' ..
i min DB står der en bookning som hedder start= 040520 slut=040525 men selvom det ikke burde lade sig gøre, for jeg stadig det værelse frem som ellers skulle være booket..
måske: SELECT room.roomnr,room.id FROM room LEFT JOIN booking ON room.id=booking.v_nr AND booking.start >= STR_TO_DATE('27-07-2004','%d.%m.%Y') AND booking.slut <= STR_TO_DATE('31-07-2004','%d.%m.%Y') WHERE booking.v_nr IS NULL
SELECT room.roomnr,room.id FROM room LEFT JOIN booking ON room.id=booking.v_nr AND booking.start >= STR_TO_DATE('27.07.2004','%d.%m.%Y') AND booking.slut <= STR_TO_DATE('31.07.2004','%d.%m.%Y') WHERE booking.v_nr IS NULL
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.