В настоящее время я работаю над системой резервирования оборудования для моей школы.
Вот как выглядят мои таблицы:
tblEquipment:
id name description
1 Camera Takes pictures
2 Projector Projects images
3 Stereo Plays music
tblEvents:
id equipmentID start end
1 2,3 1251312300 1251315900 //Should I use comma delimited entries for equipmentID?
2 1 1251312300 1251315900
По поводу моего проекта у меня есть пара вопросов:
1) Если зарезервировано несколько единиц оборудования, (что будет происходить чаще, чем нет), следует ли указывать «идентификаторы оборудования» через запятую в поле equipmentID?
2) В настоящее время, когда пользователь делает резервирование, он сначала выбирает свое «запрошенное время», а затем ему предоставляются доступные позиции. Вот что я использую для этого запроса:
$start = //user's requested time
$start = //user's requested time
SELECT equipmentID FROM tblEvents
WHERE ($start >= start && $start <= end)
OR ($end >= start && $end <= end)
OR ($start <= start && $end >= end
while($row = mysql_fetch_array($data)) {
echo $row['equipmentID']; //Would echo something like:
echo "<br>"; // 2,3
// 1
}
Мой вопрос такой:
Как я могу взять «результаты» вышеупомянутого запроса, чтобы затем повторно запросить таблицу «tblequipment», но исключить элементы, которые были в «результатах» выше (потому что они не были бы доступны). Помните, что мой запрос может возвращать несколько строк.
Любая помощь в этом была бы великолепна, спасибо!