Şöyle bir XML yapısı vardır:
<?xml version="1.0"?>
<survey>
<responses>0</responses>
<question>
<title>Some survey question</title>
<answer>
<title>Answer 1</title>
<responses>0</responses>
</answer>
<answer>
<title>Answer 2</title>
<responses>0</responses>
</answer>
...
</question>
...
</survey>
Ben bir $response
dizideki değerleri eşleşen cevapları için <responses>
değerlerini artırmak istiyoruz. İşte $response
dizisi yapılandırılmıştır nasıl:
$response = array(
'sid' => session_id(),
'answers' => array(
$_POST['input1'],
$_POST['input2'],
...
)
);
Ben anket xml dosyası için $results
adında bir SimpleXMLElement var. İşte bu konuda gidiyorum nasıl:
$results = simplexml_load_file($surveyResultsFile);
$i = 1;
foreach($response->answers as $answer) {
$r = $results->xpath("question[$i]/answer[title='$answer']/responses");
$r = $r[0];
$r = intval($r) + 1;
$i++;
}
file_put_contents($surveyResultsFile, $results->asXML());
Benim sonuç $r
değerini artmasından sonra kaydedilmiyor. Herhangi bir yanlış yapıyorum üzerinde fikir? Teşekkürler!