2017-10-12 47 views
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>'; 
+0

你關閉了你的getgameIsLocked函數嗎? –

+0

請從error_log發佈您的錯誤消息。 – Nic3500

+0

有錯誤的函數名稱 - 現在出現錯誤 - 獲取遊戲鎖定狀態時出錯:您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的手冊,在第1行的''附近使用正確的語法。 – JerryH

回答

0

結束使用SQL查詢安排得到我需要的結果。感謝您的指導。邏輯已經在那裏,只需要添加一個if語句,我如何在下拉菜單中爲團隊填充數組。