2012-12-12 127 views
0

嘿,這是我的第一篇文章,所以我希望我正在接近這個,但無論如何,我有一個調查,其中一個用戶提出了8個問題,他們應該通過點擊從1(非常不同意)-5(非常同意)值的單選按鈕來評價他們對每個問題的感受。所以我需要做的是記錄每個單選按鈕被選中的頻率。例如:單選按鈕單選按鈕並存儲在文本文件中的PHP

$filename = "Results.txt"; 
$lines = file($filename); 
$q1 = $_POST['q1']; 
$q2 = $_POST['q2']; 
$q3 = $_POST['q3']; 
$q4 = $_POST['q4']; 
$q5 = $_POST['q5']; 
$q6 = $_POST['q6']; 
$q7 = $_POST['q7']; 
$q8 = $_POST['q8']; 

foreach($lines as $line) { 
     echo $line; 
     if (isset($q1)){ 
      echo $line[$q1]; 
      echo $lines; 
     } 
    } 

其中q表示問題#。 最後這需要保持運行calc和results.txt應該看起來像這樣:
0,0,5,0,0
0,0,0,0,0
0,0,0, 0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0 ,0,0,0,0
第一行中的5表示5個用戶提交了一箇中性單選按鈕選項(值3)。每條線代表每個問題的計數。

請幫忙!

+1

做你自己一個忙,結果存儲在一個數據庫,而不是純文本文件 – 2012-12-12 07:44:24

回答

0

像這樣的東西應該回答你的「問題」,但也是你應該移動這個應用程序來使用數據庫。

$filename = "Results.txt"; 
$lines = file($filename); 

$q1 = $_POST['q1']; //stored value between 1-5 
$q2 = $_POST['q2']; 
$q3 = $_POST['q3']; 
$q4 = $_POST['q4']; 
$q5 = $_POST['q5']; 
$q6 = $_POST['q6']; 
$q7 = $_POST['q7']; 
$q8 = $_POST['q8']; 

$qN = 1; //question number 
$newLines = ''; 
foreach($lines as $line) { 

    echo $line; 

    $line = trim($line); //remove excess newlines etc. 
    $lineArr = explode(',',$line); //split line into array by commas 
    $index = ${'q'.$qN}-1; //zero based 
    if (isset($lineArr[$index])){ 
     $lineArr[$index]++; //add to position by one vote. 
    } 
    $qN++; 
    $newLines .= implode(',',$lineArr) . "\n"; 
} 

//write contents back to file. 
file_put_contents($filename, $newLines); 
+0

你也將需要一個空的Result.txt要設置已經與零個值。 –

+0

嘿,非常感謝這個它最後的工作! – adrv1400