webForumDet fria alternativet

Tidsbokning

4 svar · 607 visningar · startad av geflebo

gefleboMedlem sedan feb. 200429 inlägg
#1

Hej.

Jag håller på ett program som man ska kunna boka tider i. Mitt problem är att det inte ska kunna gå och boka tider som redan är bokade.

Tiderna är sparade som smalldatetime(2004-03-03 15:30:00). Jag använder mig bara av halvtimmar dvs 15:00, 15:30, 16:00 osv. Tiderna är uppdelade så för att de ska kunna väljas i DropDownList och inte vara för många.

Jag tänkte att jag skulle använda mig av två SQLsatser, en för att kontrollera starttiden och en för sluttiden:

SELECT COUNT(*) FROM Tbl WHERE '2004-03-01 09:00:00' BETWEEN Starttid AND Sluttid

SELECT COUNT(*) FROM Tbl WHERE '2004-03-01 11:00:00' BETWEEN Starttid AND Sluttid

Starttid och sluttid är det som är lagrat i databasen, '2004-03-01 09:00:00' och '2004-03-01 11:00:00' är de tider som kommer från DropDownListen

Jag har dykt på två problem. Om en bokad tid slutar 10:00 så går det inte att börja en ny tid 10:00 med de SQLsatser jag använder mig av. Det andra är att det går att boka tider som ligger utanför intervallet för en tid. T ex man har bokat 09:00 - 09:30 så går det att boka en tid 08:00 till 10:00.

Någon som har en ide om hur jag skulle kunna lösa det på ett enkelt problem.

Engine^Medlem sedan dec. 20002 861 inlägg
#2

Sök lite på bokning så ska du nog hitta ett svar på din fråga. Jag vet att det har varit på tapeten ett antal gånger förut.

GuldstrandMedlem sedan juli 20041 274 inlägg
#3

Någon som vet om det finns ett FÄRDIGT script i php som man kan använda till "tidsbokning"? :r

Fredde MannenMedlem sedan nov. 20013 498 inlägg
#4

Du får väl kolla om den tid de vill boka finns inom något av de intervall som finns i databasen, om de finns, Neka, om ej Godkänd!

Typ

SELECT COUNT(*) AS n 
FROM tbl WHERE start > '2003-12-31 21.00' 
AND slut < '2003-12-31 21.30'

för då bör den ta fram alla inom intervallet 2003-12-31 21.00 och 2003-12-31 21.30, exklusive själva 2003-12-31 21.00 och 2003-12-31 21.30.

Eller tänkte jag galet där? :)

aasahMedlem sedan mars 20033 451 inlägg
#5

Om den tid du ska boka ALLTID är en halvtimme, så behöver du ju bara lagra starttider. Se till att ditt program hämtar ut ännu inte uppbokade tider att välja på genom att ange starttider som funkar. Vid val av tid kollar skriptet om någon annan hunnit boka tiden och annars lägger man in bokningen.

Genererad på 393 ms · cache AV · v20260730165559-full.f96bc7eb