Php 确定MySQL选择预订系统的逻辑

Php 确定MySQL选择预订系统的逻辑,php,mysql,select,Php,Mysql,Select,我正在为我的学校创建设备预订(PHP/MySQL) 我的数据库如下所示: tblEvents: id start end equipID tblEquipment: id name description 我想知道根据用户的时间参数查询数据库的最佳方法,以查看某个项目是否“不可用” 例如,如果我有以下数据: tblEvents: id start end equipID 1 1251312300 1251

我正在为我的学校创建设备预订(PHP/MySQL)

我的数据库如下所示:

tblEvents:
 id
 start
 end
 equipID


tblEquipment:
  id
  name
  description
我想知道根据用户的时间参数查询数据库的最佳方法,以查看某个项目是否“不可用”

例如,如果我有以下数据:

tblEvents:
  id      start          end         equipID
  1     1251312300    1251324000       1
用户提交查询,查看“equipID”1是否可用,然后他们将:

1251300300作为起点,1251524000作为终点


任何关于开始这项工作的帮助都会很好。谢谢

我不是100%确定,但我认为这个查询应该非常接近:

select * from tblEvents
where (@starttime >= start && @starttime <= end) /* Starts while someone else has it */
or (@endtime >= start && @endtime <= end) /* Ends while someone else has it */
or (@startime <= start && @endtime >= end) /* Starts before & ends after someone else has it*/
and equipID = @equipID

多日退房是否正常/允许?如果是这样的话,这会使任务更棘手,但并非不可能。
-|||||*|||||------*------
------*--------|||*||||--
------*--|||||||--*------
SELECT * FROM tblEvents
WHERE NOW() > FROM_UNIXTIME(end)