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