检查给定开始日期和结束日期时间之间是否已经有预约

时间:2012-05-31 06:52:31

标签: javascript mysql html sql

我正在使用jquery mobile构建移动网络应用程序。我想预约。因此用户进入房间,开始日期时间和结束日期时间。然后它转到一个查询数据库的webservice函数。

要检查用户输入的开始日期时间和结束日期时间之间是否已有预约。如果有,它会将它们列入清单。

现在在我的javascript中,我将使用ajax调用来调用此函数。在这里,我将检查此列表中是否有某些内容 - >房间不可用,否则 - >房间可用。

但我的查询有问题。你能帮我解决一下吗?

SELECT * FROM ARTICLES_RESERVERING res
INNER JOIN ARTICLES_ZAAL roo ON res.ZAALID = roo.ID WHERE roo.ID = @ZAALID 
AND (res.DATUM_BEGIN >= @DATUM_EINDE OR res.DATUM_EINDE <= @DATUM_BEGIN)

有人可以帮忙吗?

亲切的问候。

Steaphannn

1 个答案:

答案 0 :(得分:0)

重叠事件的一般算法是:

if ((eventA.startTime <= eventB.startTime && eventA.endTime > eventB.startTime) ||
    (eventA.startTime < eventB.endTime && eventA.endTime > eventB.startTime)) 
{
    // events overlap
}

修改

更改了第二行的最后一部分,以涵盖eventA在eventB期间的情况。请注意,事件开始和结束必须按正确的时间顺序排列。