2011-08-04 234 views
-1

我在哪裏出錯了這個函數?我要求它提取提醒日期爲今年(單獨運行)的用戶,並且該類型等於電子郵件或電話(此部分不工作)。謝謝!將條件添加到elseif語句

elseif 

($_GET['reminder'] == 'thisyear' 
&&(isset($_GET['type']) 
&& in_array($_GET['type'], array('Email', 'Call')))) 
{  
$thisyear = date('Y-m-d');  
$todotype = $_GET['type']; 
$query = "SELECT * FROM contacttodo,contacts WHERE contacttodo.contacts_id = contacts.ID AND YEAR(reminder) = YEAR(CURDATE()) AND contacttodo.type = '".$todotype."' ORDER BY contacttodo.reminder ASC"; 
} 

UPDATE:這不返回任何記錄,並有幾個既「呼叫」和「電子郵件」

elseif 
($_GET['reminder'] == 'thisyear' 
&& (isset($_GET['type']) 
&& in_array($_GET['type'], array('Email', 'Call')))) 
{ 
$thisyear = date('Y-m-d');  
$todotype = $_GET['type']; 
$query = "SELECT * FROM contacttodo,contacts WHERE contacttodo.contacts_id = contacts.ID AND YEAR(reminder) = YEAR(CURDATE()) AND contacttodo.type = '".$todotype."' ORDER BY contacttodo.reminder ASC"; 
} 
+0

所以....沒有幫助的答案或建議? – joshua76

回答

0

從問題,包括缺少的開口支架和缺少的操作的代碼:

elseif(($_GET['reminder'] == 'thisyear') 
    && isset($_GET['type']) 
    && in_array($_GET['type'], array('Email', 'Call'))) 
{  
    /* … */ 
} 

誤差從ELSEIF條件後的& & 「意外T_BOOLEAN_AND」 結果:

elseif($_GET['reminder'] == 'thisyear') /* no statement here */ 

&& (isset($_GET['type']) /* some weird code, resulting in unexpected T_BOOLEAN_AND */ 

更新:「這隻返回一個記錄類型'電話'」

也許你的電子郵件沒有提醒呃設定爲'今年'。嘗試:

elseif(($_GET['reminder'] == 'thisyear') 
    || (isset($_GET['type']) && in_array($_GET['type'], array('Email', 'Call')))) 
{  
    /* … */ 
} 
+0

我刪除了「今年'後面的'(」==「,但它只返回1條記錄 – joshua76

+0

然後你的邏輯有問題從上面的代碼中,我不能提到期望的輸出應該是什麼,也不是什麼幾個變量(這是檢查)包含作爲數據 – feeela

+0

這只是沒有返回任何記錄。至少有10匹配的年份和類型。我沒有看到這裏有什麼問題... – joshua76

1

你錯過了運營商在你的第一個和第二個標準間。試試&&||

elseif ($_GET['reminder'] == 'thisyear' 
    && isset($_GET['type']) 
    && in_array($_GET['type'], array('Email', 'Call')) 
) { 
    ... 
} 

更新:固定括號,清理空白。

+0

...和'elseif'後面的開頭括號; – feeela

+0

我認爲這會做的伎倆,並嘗試過早沒有運氣。 '&'in_array($ _ GET ['type'],array('Email','Call'))){' – joshua76

+0

@ ?第一輪缺少elseif(/ * conditions * /){/ * statements * /}'(我現在已經添加了一個答案) – joshua76