tömbök
sziasztok.
valahogy nem tudok megoldani egy problémámat:(
van egy foglaltsági űrlapom és ha a felhasználó megad egy időpontot, hogy mettől meddig akarna jönni, és ha véletlen olyan időpontot akart megadni ami már foglalt írja ki, hogy az időpont foglat.
pl: én úgy oldottam meg hogy az időpont egy szám (20110625-20110709 között foglal).
DE ha a felhasználó azt adja meg hogy 20110624-20110710 között szeretne jönni, már nem írja ki nekem, hogy foglalt az időpont.
ezt hogy tudnám megoldani?
remélem sikerült rendesen magyarázni, és köszönöm előre is a válaszokat.
■ valahogy nem tudok megoldani egy problémámat:(
van egy foglaltsági űrlapom és ha a felhasználó megad egy időpontot, hogy mettől meddig akarna jönni, és ha véletlen olyan időpontot akart megadni ami már foglalt írja ki, hogy az időpont foglat.
pl: én úgy oldottam meg hogy az időpont egy szám (20110625-20110709 között foglal).
DE ha a felhasználó azt adja meg hogy 20110624-20110710 között szeretne jönni, már nem írja ki nekem, hogy foglalt az időpont.
ezt hogy tudnám megoldani?
remélem sikerült rendesen magyarázni, és köszönöm előre is a válaszokat.
szám
jól hangzik
ezt kifejtenéd kicsit bővebben, hogy hogy kéne megvalósítani, egy példával..
köszi
Példa
mit jelent?
throw FoglaltError;
Kreatív
keves válasz
Mivel az adatokat valahol
----+------------+------------
1 | 2011-06-25 | 2011-07-09
(1 row)
-------
1
(1 row)
Igen
Oracle-ben láttam még ilyent
Elméletileg mysqlben is
Ez nem éppen
foglalas.ig=25
$tol=10
$ig=20
Teljesen igazad van. Ennek
Ennek már jónak kell lennie:
Szerintem egyszerű
adott négy változó:
FoglaltTol (már foglalt időszak kezdete)
FoglaltIg (már foglalt időszak vége)
UjFoglalasTol (új foglalás kezdete)
UjFoglalasIg (új foglalás vége)
Feltételek, amelyek ha teljesülnek, akkor már foglalt az új időszak:
1. Ha (UjFoglalasTol <= FoglaltTol) ÉS (UjFoglalasIg >= FoglaltTol)
2. Ha (UjFoglalasTol >= FoglaltTol) ÉS (UjFoglalasTol <= FoglaltIg)
A példádban szereplő eset az 1 miatt fogja tiltani a foglalást, de akkor is tiltja, ha az új foglalás vége a már foglalt intervallumban van. Ha az új foglalás kezdete a már foglalt intervallumba esik, akkor a 2 feltétel miatt fogja tiltani.
Minden más esetben mehet a foglalás, persze nem árt vizsgálni, hogy a foglalás kezdete kisebb vagy egyenlő legyen a végével.
Tehát:
HA ((UjFoglalasTol <= FoglaltTol) ÉS (UjFoglalasIg >= FoglaltTol))
VAGY ((UjFoglalasTol >= FoglaltTol) ÉS (UjFoglalasTol <= FoglaltIg))
AKKOR tiltani kell az új foglalást.
mukodik
köszönöm szépen!
Nem vagyok zseni
És bár nem akarlak bántani, mert különben nem is írtam volna le a megoldást, de azért ismerd el, ha életedben programoztál már 3 napnál többet (vagy 3 óránál?) akkor erre egyedül is rájöttél volna igen hamar...
Üdv,
iollari
gondolkoztam
én is törtem a fejem mielőtt ide írtam volna, de valahogy ez nem ugrott be nekem. mindenhogyan gyűrtem csavartam de nem sikerült úgy ahogy kellet volna. mindegy, meg lett a megoldás és nagyon szépen köszönöm:)