2016-06-20 157 views
0

我正在嘗試創建評分系統。如何更改XML節點JavaScript或PHP

我有一個XML文件,其具有如下信息:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<PROGRAMMEDATA> 
    <PROGRAMME id="1"> 
     <TITLE>Arrow</TITLE> 
     <IMAGE>img/arrow.jpg</IMAGE> 
     <POINTS>0</POINTS> 
    </PROGRAMME> 
    ...etc 
<PROGRAMMEDATA> 

我然後有一個形式,具有程序選項和1至5的分數。

<form> 
    <select id="name"> 
     <option selected value=""></option> 
     <option value="1">Arrow</option> 
     <option value="2">You, Me and Dupree</option> 
     <option value="3">Fargo</option> 
     <option value="4">Flash</option> 
    </select> 
    <select id="rating"> 
     <option selected value="">stars</option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
    </select> 
    <input type="submit" value="Submit rating" onClick="saveRating()" /> 
</form> 

這個想法是你可以選擇一個程序,然後選擇一個評級。然後您可以提交,然後評級將被添加到XML文件中的相應程序中。

我試圖用JavaScript捕獲表單值,但我不知道如何將值存儲在XML文件中。

var name = document.getElementById("name").value; 
var rating = document.getElementById("rating").value; 

我已經想過使用PHP,並使用DOM文檔的另一種方法,但我不能得到它的追加分,它只是增加了XML文件的底部。

任何幫助非常感謝。

+0

你說追加分,但你是指總分?你可以請分享你到目前爲止的PHP嗎? –

回答

0

像這樣的東西應該工作。

$file ="ratings_file.xml"; 

$title="test"; 
$image="img/arrow.jpg"; 
$points=0; 

//load xml object 
$xml= simplexml_load_file($ratings_file); 

//assign title 
$xml->PROGRAMME->title = $title; 

//assign image 
$xml->PROGRAMME->image = $image; 

//assign points 
$xml->PROGRAMME->points = $points; 

//store the value into the file 
file_put_contents($ratings_file, $xml->asXML());