非常感謝您抽出寶貴時間查看我的問題。我對mysql驅動的網絡應用程序很陌生,而且我正遇到一些麻煩,找出一個查詢。測試日期是否在單個查詢中重疊
我有3個表:
事件:
event_id(INT) | event_fee(INT) | start_time(DATE_TIME) | stop_time(DATE_TIME)
表演者:
performer_id(INT) | performer_name(VARCHAR) | performer_fee(INT)
event_performers:
event_performers_id(INT) | event_id(INT) | performer_id(INT)
檢索我使用的事件數據。
SELECT *
FROM events
JOIN event_performers
ON events.event_id = event_performers.event_id
我想運行一個測試查詢來查明是否有任何執行者在同一時間在不同的事件上作用。
我試圖以檢索所有表演者的ID,所有事件的id和循環槽他們每個人來比較日期,但我得到了堆疊做foreach循環,並不能真正得到它的工作
include('app/config.php');
function return_all_performers(){
include(PATH . '/core/model/db_connect.php');
try {
$query_object = $db->query("
SELECT performer_id
FROM performers
");
} catch (Exception $e){
include_once(PATH . "/core/view/error.php");
exit();
}
return $query_object->fetchAll(PDO::FETCH_COLUMN, 0);
}
function return_all_performer_events($performer_id){
include(PATH . '/core/model/db_connect.php');
try {
$query_object = $db->prepare("
SELECT *
FROM events
JOIN event_performers
ON events.event_id = event_performers.event_id
WHERE event_performers.performer_id = :performer_id
");
$query_object->bindParam(':performer_id', $performer_id);
$query_object->execute();
} catch (Exception $e){
include_once(PATH . "/core/view/error.php");
exit();
}
return $query_object->fetchAll(PDO::FETCH_ASSOC);
}
$performers_ids = return_all_performers();
$overlaps = array();
foreach ($performers_ids as $performer_id) {
$performer_events = return_all_performer_events($performer_id);
foreach ($performer_events as $event => $value) {
// Isolate Single event and compare it to others
// TO DO
// Check If times overlaps
/*
foreach() {
if(
strtotime($event['start_time']) >= strtotime($isolated_event['start_time']) &&
strtotime($event['start_time']) <= strtotime($isolated_event['stop_time'])
){
return true;
}
if(
strtotime($event['stop_time']) >= strtotime($isolated_event['start_time']) &&
strtotime($event['stop_time']) <= strtotime($isolated_event['stop_time'])
){
$overlaps[] = $event;
}
}
*/
}
}
var_dump($overlaps);
非常感謝你太多的幫助, 乾杯
哇!我不知道你是如何工作的,但它似乎工作**完美!**,謝謝你! ;) –