2016-08-13 92 views
1

請假設此爲表 tablename- schemeOverview獲得一行中具有特定值的字段數? mysqli的-PHP

| slno |schemename | amount| date2 | date3 | date4 ...daten | 
|---------|-----------|-------|-------|-------|-------|----------| 
| 1 | Cell  | 1000 | DUE | DUE |  |   | 
| 2 | Cell  | 1000 | PAID | PAID |  |   | 
| 3 | Cell  | 1000 | DUE | DUE | DUE |   | 
| 4 | Cell  | 1000 | PAID | PAID |  |   | 
| 5 | Cell  | 1000 | DUE | DUE |  |   | 

我想數着具有作爲「付費」字段的數量。 例如slno-2的PAID計數應該爲2.

日期列的數量因表格而異,但我有一個表的日期列數。所以更好的選擇是檢查所有的字段指定行(slno)

回答

0

經過大量的人才外流後,我想出了這個,它的工作原理!

$paidCount=0; 
$sql2 = "SELECT * FROM " .$scheme_name. " WHERE slno = " .$recBookNo; 
$result2 = mysqli_query($conn,$sql2); 
if($result2) 
{ 

    while ($row19 = $result2->fetch_assoc()) 
    { 
     foreach ($row19 as $key => $value) 
      { 
        if(($value)=='PAID') 
         { 
          $paidCount++; 
         } 
      } 
    } 
} 
-1

您可以使用count()

SELECT count(date2) as cd2 FROM schemeOverview WHERE date2 = "PAID" 

這將存儲值到CD2,在這種情況下,2

+0

這是不正確的答案,它不是用戶想要的。 –

+0

我想,當日期列表變化每個表,你可以創建第二個表。然後加入結果。至少這是我會做的 –

0

您可以使用此代碼

SELECT slno,count(*) AS paid 
FROM schemeOverview 
WHERE 'PAID' IN (date2, date3, date4,...,daten) 
相關問題