2015-07-01 80 views
-2

我需要一些幫助。PHP數據如果數據不爲空

我想計算一些列,但我的查詢計數不正確。

SELECT COUNT(*) AS zero_count FROM messages WHERE uid_fk = '$uid' AND uploads IS NOT NULL AND uploads <>'' AND option = '1' 

計數上傳值,如果上傳的值不爲空,並檢查選項=「1」

所以如果上傳值不爲空,並選擇= 1,那麼指望它。

例如:

uid_fk  uploads   option 

    1    75,    0  Not counting because secret_option is 0 
    1   76,77,   1  Count because it is 1 and upload value is not empty 
    1        1  Not count because upload value is empty 
    1    78,    1  Count because it is 1 and upload value is not empty 
    1        1  Not count because upload value is empty 
    1   79,80,   0  Not count because option is 0 

我查詢計數所有選項= 1只,但它需要數:

如果上傳的值不爲空,並選擇是1,那麼指望它。

什麼我需要做的查詢計數上傳不空和選項= 1任何人都可以在這方面幫助我?

+0

您是在計數行還是在上傳列中添加值? – Robert

+0

@robert我想計數,如果上傳值不爲空,選項= 1。 – innovation

+0

你需要什麼SUM或COUNT? –

回答

2

下面的查詢可能會工作得很好,只要確保你能獲得正確的值在$uid

SELECT 
    COUNT(*) 
FROM `messages` 
WHERE TRIM(IFNULL(`uploads`, '')) != '' AND `option` = '1' AND `uid_fk` = '$uid' 
+0

請[CLICK](https://scontent-fra3-1.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/11222012_131358750530626_7858393301678559190_n.jpg?oh=0039d590fa22fb042945aacb0249a351&oe=562D1871)此鏈接的截圖。 – innovation

+0

和你正在得到什麼? –

+0

我越來越11 – innovation

0

你需要引號option其保留字。

SELECT COUNT(*) AS 'zero_count' 
FROM `messages` m 
WHERE `option` <> 0 
    AND (`uploads` IS NOT NULL AND `uploads` <> '') 
    AND uid_fk = $uid; 
+0

感謝您的回答。但它是相同的結果,在這個問題你可以看到uid_fk = 1發佈6帖子,但一些帖子沒有上傳(空)。所以你的答案給了我同樣的結果,它顯示4但我需要2。 – innovation

+0

使用上面的示例數據我得到2.如果$ uid是一個整數,它不需要引號。 – Robert

相關問題