web-dev-qa-db-ja.com

重力フォームフィールド値を取得し、いくつを数えますか?

これを最善の方法で説明する方法がわかりません。しかし、Gravity Formsのフォームを使用して、0から10までの値を評価しています。以下のコードでは、結果が得られます。ただし、0〜6の評価数と9〜10の評価数を確認する必要があります。私はそれを持っているので私は結果を見て、それが「否定的」、「否定的」、または「肯定的」なフィードバックであるかどうかを知ることができます。 "Negative"と "Positive"の数が必要で、それからそれらをそれぞれ$neg_fb$pos_fb変数に渡します。これが理にかなっていることを願っています。

<?php
    // The form's ID
        $form_id = 7;

    // Total Number of Entries
        $form_count  = RGFormsModel::get_form_counts($form_id);
        $entry_total = $form_count['total'];
        echo '<p>Number of entries: <strong>' . $entry_total . '</strong></p>';

    // Get Entry Values
        $entries = GFAPI::get_entries($form_id);
        foreach($entries as $entry){
            if($entry[1] < 7){
                echo $entry[1] . ' = Negative Feedback<hr>';
            }elseif($entry[1] > 8){
                echo $entry[1] . ' = Positive Feedback<hr>';
            }else{
                echo $entry[1] . ' = Neutral Feedback<hr>';
            }
        }

    // NPS Variables
        $pos_fb = 2;
        $neg_fb = 1;
    // NPS Formula
        $nps    = ($pos_fb / $entry_total) - ($neg_fb / $entry_total);
    // Multiply for percentage
        $perct  = ($nps * 100);
    // Round up
        $whole  = ceil($perct);
    // Display whole percentage
        echo '<h4>' . $whole . '% NPS Recommendation</h4>';
?>

誰かが私を助けてくれる、または正しい方向に私を指すことができますか?

1
user3571316

Foreachループの前に2つの変数を0に設定します。 $ positive = 0; $ negative = 0;

それならあなたのif文の中で:

if($entry[1] < 7){


//increment variable
$negative++;

 echo $entry[1] . ' = Negative Feedback<hr>';
 }elseif($entry[1] > 8){ 

//increment variable 
$positive++

echo $entry[1] . ' = Positive Feedback<hr>'; }else{ echo $entry[1] . ' = Neutral Feedback<hr>'; }

必要に応じて結果を使用してください。

0
gdaniel