2016-04-14 20 views
0

私のクエリの結果を示す円グラフを表示しようとしています。このサンプルでは、​​3つの期間(朝食、昼食、夕食)を持っており、各期間のレコード数を数えます。しかし、グラフを表示する際には、それぞれのデータセットを別の色で表示する必要があります。そのため、結果をフェッチする際にIF文を追加しました。フェッチ配列中のMySQL/PHP IF文

当然のことながら、このステートメントは機能しておらず、「朝食」の色のみを返します。期間名の返された各行を確認し、それぞれの色をエコーするためにステートメントをリフレッシュするにはどうすればよいですか? @larsAndersで指摘したように

おかげ

while($row = mysqli_fetch_array($result)){ 
    $count = $row['period_count']; 
    $period = $row['period']; 

    if ($period = "Breakfast") { 
      $color = "#F38630"; 
     } elseif ($period = "Lunch") { 
      $color = "#E0E4CC"; 
     } else { 
      $color = "#69D2E7"; 
    } 

    echo "{"."\n"; 
    echo "value : " . $row['period_count'] . ","."\n"; 
    echo "color : \"" . $color ."\","."\n"; 
    echo "label : \"" . $row['period']."\""."\n"; 
    echo "},"."\n"; 

} 
+4

条件に '=='演算子が必要です。 'if($ period ==" Breakfast "){' – larsAnders

+2

double ==を指定しないと、$ periodの変数にBreakfastの値が代入されます。ダブル(==)をすると、それを比較します。ちょうどlarsAndersに追加したかった – Brett

+0

は、これを理解するためにみんな一分間かかったのですか? ;) どうもありがとう! – Armitage2k

答えて

0

は、==演算子は値を比較するために必要とされます。

+1

あなたがこれらを混乱させる習慣をつくっているなら、あなたの言い方を変えてください。 '' Breakfast '= $ period'は間違ったことを静かにするのではなく、直接的なエラーを引き起こします。時間が経つと、マイル離れたところから間違いを発見することができます。 – tadman

+0

あなたたちは速いです!私はそれを言うチャンスを得る前に私が言うと思うすべてのポップアップ:) – Stevish