0
希望有人能夠闡明這一點。我試圖從行中的兩個字段中取值,並基於行已過期,從下拉列表中排除這兩個值。根據ID從一行中拉出值
我有一個表(附表) 遊戲ID homeID visitorID gameTimeEastern WEEKNUM
每星期有次交鋒,其中2支球隊打對方。這兩個團隊是基於具有特定開始時間(gameTimeEastern)的gameID。
我有一個確定何時對決被鎖定,這意味着比賽已經開始了一個功能:
function gameIsLocked($gameID) {
//find out if a game is locked
global $mysqli, $cutoffDateTime;
$sql = "select (DATE_ADD(NOW(), INTERVAL " . SERVER_TIMEZONE_OFFSET . " HOUR) > gameTimeEastern or DATE_ADD(NOW(), INTERVAL " . SERVER_TIMEZONE_OFFSET . " HOUR) > '" . $cutoffDateTime . "') as expired from " . DB_PREFIX . "schedule where gameID = " . $gameID;
$query = $mysqli->query($sql);
if ($query->num_rows > 0) {
$row = $query->fetch_assoc();
return $row['expired'];
}
$query->free;
die('Error getting game locked status: ' . $mysqli->error);
這基本上確定該行已過期(gameTimeEastern已通過)。然後,我會在表格中列出一個表格,該表格列出了該周每場比賽中的所有球隊列表。如果該列已過期,那麼我不希望在該下拉列表中包含該行的homeID或visitorID。
在我的網頁我想表明從到期行這些球隊,但失敗的頁面將停止處理它打這個時候:
//get expired teams
$expiredGames =gameIsLocked(gameID);
// echo 'Expired games are GAME ' . $expiredGames . '<br>';
for ($eti=1; $eti<=$gameID; $eti++)
{
if ($gameID[$eti]>''){
$sql = "select * from " . DB_PREFIX . "schedule WHERE gameID = '" . $gameID[$eti] . "';";
$query = $mysqli->query($sql);
if ($query->num_rows > 0) {
$result = $query->fetch_assoc();
$expiredHomeTeam = $result['homeID'];
$expiredVisitorTeam = $result['visitorID'];
}
}
echo 'Expired teams for GAME '.$gameID.' are '.$expiredHomeTeam.' and '.$expiredVisitorTeam.'<br>';
}
新規範 - 其實給我的第一個結果
//get expired teams
$expiredGames =gameIsLocked(gameID);
$sql = "select * from " . DB_PREFIX . "schedule WHERE weekNum = '6';";
$query = $mysqli->query($sql);
if ($query->num_rows > 0) {
$result = $query->fetch_assoc();
$expiredHomeTeam = $result['homeID'];
$expiredVisitorTeam = $result['visitorID'];
}
echo 'Expired teams for GAME ' . $expiredGames . ' are '.$expiredHomeTeam.' and '.$expiredVisitorTeam.'<br>';
你關閉了你的getgameIsLocked函數嗎? –
請從error_log發佈您的錯誤消息。 – Nic3500
有錯誤的函數名稱 - 現在出現錯誤 - 獲取遊戲鎖定狀態時出錯:您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的手冊,在第1行的''附近使用正確的語法。 – JerryH