Modification XML

Résolu
jeffy2b -  
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

je vous donne un petit aperçu de mon souci. Je veux modifier le contenu de mon fichier xml à l'aide du php. L'utilisateur fait son choix, lequel se répercute sur le fichier en question.

Voici la fonction en php qui s'en charge, suivi du fichier xml :

<?php      
        /******************************************************/
	/**   Fonction Qui écrit le choix de l'utilisateur   **/
	/******************************************************/
	
	function ajouter_choix($choix, $indice, $ip, $url_fichier, $racine)
	{
		//Vérification que les paramètres envoyés ne soient pas vides...
		if( (!empty($choix) && !empty($indice)) && !empty($ip) )
		{
			//Vérification de l'existance du fichier.
			if(file_exists($url_fichier))
			{
				//Boucle qui parcourt les noeuds fils...
				for($i = 1; $i <= $indice;$i++)
				{
					//Si notre compteur est égal à l'indice de la réponse choisie...
					if($i == $indice)
					{
						//Nous incrémentons le total correspondant....
						$racine->total[$i] = $racine->total[$i] + 1 ;
						//Nous l'écrivons dans le fichier.
						file_put_contents($url_fichier, $racine->asXML());
					}
				}
				return(1);
			}
			else
				return(0);
		}
		else
			return(0);
	}

?>


et le xml :

<sondage>
	<question>Que pensez vous du nouveau design ?</question>
	<reponses>
		<value>Super</value>
		<value>Pas mal</value>
		<value>Sympa</value>
		<value>Terne</value>
		<value>Peu Efficace</value>
		<value>Nul</value>
		<value>Je ne sais pas</value>
	</reponses>
	<totaux>
		<total>0</total>
		<total>0</total>
		<total>5</total>
		<total>0</total>
		<total>0</total>
		<total>0</total>
		<total>0</total>
	</totaux>
</sondage>


Si jamais quelqu'un a une idée, je suis ouvert à toutes propositions.

Merci beaucoup et bonne journée.
A voir également:

2 réponses

jeffy2b
 
Bonjour à tous,

après une réflexion plus assidue hier soir, j'ai trouvé mon erreur. D'une dans l'appel de la fonction, j'ai pointé le mauvais fichier, ce qui nous rappel à tous qu'il faut être très rigoureux lorsque l'on utilise dans un programme de multitudes de fois une même variable pour des usages divers.
Ensuite, il y avait tout de même deux ou trois choses à modifier :

//Boucle qui parcourt les noeuds fils...
for($i = 1; $i <= $indice;$i++){
	//Si notre compteur est égal à l'indice de la réponse choisie...
	if($i == $indice)
	{
		//Nous incrémentons le total correspondant....
		$racine->totaux->total[$i] = $racine->totaux->total[$i] + 1 ;
		//Nous l'écrivons dans le fichier.
	        file_put_contents($url_fichier, $racine->asXML());
	}
}
return(1);


En effet, en l'état actuel des choses...il ajoutait simplement car je n'avais pas précisé correctement le chemin :P
1
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
bonjour,

Si ton problème est résolu n'oublie pas de changer son statu en "Résolu"!!
0