Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nadpisywanie wartości w pliku xml - wartościami z input, Jak to zrobić w czasie rzeczywistym?
Bart123
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Sytuacja jest taka. Mam plik settings.xml, w którym zawarte są ustawienia slidera - typu wysokość, szerokość itp.

Wszystkie te dane wyświetlam na stronie pobierając je z pliku. Wartości, np. Width:600 height:500 wyświetlam w polach input tak jak w formularzu.

I teraz pytanie: Czy istnieje możliwość takiego połączenia pól input z plikiem xml, by w momencie wpisywania nowej wartości np width:1000 zamiast 600, wartość width zmieniała się także w pliku settings.xml?

Bardzo proszę o pomoc.

P.S daleko mi do lenia, dlatego po napisaniu tego pytania, sam staram się znaleźć rozwiązanie. Jeżeli znajdę - powiadomię.

Próbowałem zrobić tak, żeby zmienić najpierw wartość "na siłę", ale nie wypaliło:


foreach($xml->General_Properties ->xpath("$xml->General_Properties->children") as $child ) {
$child->componentWidth->$arr["value"] = '200';
}


A żeby było jeszcze jaśniej: Oto kod, o którym mowa i z którego chciałbym zmieniać wartość value.


<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"
type="text/javascript"></script>

<script>
function ajax(file,wynik){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById(wynik).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",file,true);
xmlhttp.send();
}
</script>


</head>

<?php
$xml=simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml');
$ml = "xml.php";
$wynik = "wynik";


if (!isset($_GET['ajax'])){
echo '<div class="parental">';
echo "<button class='parent' onClick='ajax(\"".$ml."?ajax=1\",\"".$wynik."\")'>General</button>";
echo '<div id="wynik">';
echo '</div>';
echo '</div>';
}
else{
foreach($xml->General_Properties ->children() as $child) { //druk dzieci tylko przy ajaxie
$arr = $child->attributes();
echo $child->getName();
echo "<br><input type='text' name='value' value=" .$arr["value"]."><br>";
}
exit();
}




?>




</html>

Ten post edytował Bart123 19.05.2014, 00:27:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bart123
post
Post #2





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 10.05.2014
Skąd: Elbląg

Ostrzeżenie: (10%)
X----


Spoko. Widzę i zaraz wypróbuję.
  1. if (isset($_POST['button2']))
  2.  
  3. {
  4.  
  5. // update
  6. $xml->General_Properties->children->$arr["value"] = $_POST["value"];
  7.  
  8. // save the updated document
  9. $xml->asXML($_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml');
  10.  
  11. }
  12.  
  13.  
  14. }
  15.  
  16.  
  17.  
  18. exit();
  19.  



dodałem coś takiego, ale nadal jest źle. Niczego nie zmienia. Coś mi się wydaje, że w update coś źle wpisałem.

  1. <settings>
  2. <General_Properties>
  3. <assets value="images.xml"/>
  4. <componentWidth value="600"/>
  5. <componentHeight value="500"/>
  6. <preloader value="assets/preloaders/comet.swf"/>
  7. <skin value="assets/skins/skin1.xml"/>
  8. <radiusX value="220"/>
  9. <radiusY value="130"/>
  10. <centerX value="300"/>
  11. <centerY value="187"/>
  12. <perspective value="50"/>
  13. <rotationAngle value="0"/>
  14. <rotatioAngleType value="all"/>
  15. <useAlphaEffect value="true"/>
  16. <alphaIntensity value="10"/>
  17. <showCenterImage value="false"/>
  18. <centerImageAlpha value="0.5"/>
  19. <centerImage value="images/logo.png"/>
  20. <centerImageUrl value=""/>
  21. <centerImageUrlTarget value="_blank"/>
  22. <showAbout value="false"/>
  23. <useColorbox value="false"/>
  24. </General_Properties>


A tak wygląda plik xml oczywiście tylko ta część, która mnie interesuje.

Ten post edytował Bart123 22.05.2014, 14:33:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.01.2026 - 11:13