我想進一步自定義我的網站/論壇現有的修改,但不幸的是誰,我問的支持筆者有在此刻有點空餘時間。掙扎組建一個SQL查詢
可有人提醒,我可能會與此查詢會錯誤?
SELECT date FROM {db_prefix}log_activity
WHERE date = 2015-12-25
(SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = $memberID);
我基本上希望檢查我指定的日期出現在{db_prefix} log_activity如果確實如此,觸發我的行動爲所有成員發現,在{db_prefix} log_online
(更多的代碼,但我覺得上面的部分是什麼導致我的問題..)
我嘗試的全碼:
if (!in_array('test',$currentBadges))
{
$resultgroup = $smcFunc['db_query']('', "
SELECT date FROM {db_prefix}log_activity
WHERE date = 2015-04-20
(SELECT COUNT(*) AS total FROM {db_prefix}log_online
WHERE ID_MEMBER = $memberID);
");
$totalRow = $smcFunc['db_fetch_assoc']($resultgroup);
{
$badgeAction = 'test';
if (!in_array($badgeAction,$currentBadges) && $totalRow['total'] >= 1)
{
$badgeID = GetBadgeIDByAction($badgeAction);
$ret = AddBadgeToMember($memberID,$badgeID,false);
if ($ret == true)
{
$currentBadges[] = $badgeAction;
$newBadges[] = $badgeAction;
}
}
}
//end badge code
}
我之前,所以希望這種形式從來沒有使用過這個網站在一定程度上的可讀性...:P
基本上,我試圖做的是: IF(日期)=今日 AND(成員)在 THEN獎徽章已經登錄......
改變的嘗試登錄:
"WHERE date = 2015-04-20"
WHERE date = "2015-04-20"
如果你不明白你最好對查詢閱讀 – Careen
此一兩件事,需要加引號'其中date = 2015-12-25'否則MySQL的數字你想要做的數學運算,如。減去反過來噴涌而出語法錯誤;你沒有檢查的東西。 –
我們一定會在這裏幫助你,但我建議不要讓人們爲你做 - 這是一個確保你的問題關閉的方法。我編輯了這個。 – halfer