2016-08-13 2 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でなければなりません。

日付の列の数はテーブルごとに異なりますが、テーブルの日付の列の数があります。より良いオプションは、すべてのフィールドをチェックすることです。あなたはこのような場合には、CD2に値を格納するcount()

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

これを使用することができます

答えて

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

指定した行(SLNO)は2

+0

これは間違った答えです。そのユーザーが望んでいないものです。 –

+0

私は、テーブルごとに日付の列が変わるときに、2番目のテーブルを作成できるとします。その後、結果に参加します。少なくともそれは私がやろうとしていることです –

0

あなたはこのコードを使用することができます

SELECT slno,count(*) AS paid 
FROM schemeOverview 
WHERE 'PAID' IN (date2, date3, date4,...,daten) 
関連する問題