これを最善の方法で説明する方法がわかりません。しかし、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>';
?>
誰かが私を助けてくれる、または正しい方向に私を指すことができますか?
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>'; }
必要に応じて結果を使用してください。