2015-11-18 5 views
0

У меня есть проблемы с SimpleXML и переменнойPHP Поместите переменную в SimpleXML

$num = $categorie['id']; 
echo $num; /*return value is 1 or 0*/ 
$fav = $xml->categorie[$num]->addChild("fav"," "); 

Я хочу поставить $ NUM в категории [$ Num], но не работает. Как я могу это сделать?

Мой XML

<?xml version="1.0" encoding="ISO-8859-1"?> 
<data> 
    <categorie id="0" name="Search"> 
     <fav> 
      <link>Google</link> 
      <desc>www.google.fr</desc> 
     </fav> 
     <fav> 
      <link>Orange</link> 
      <desc>www.orange.fr</desc> 
     </fav> 
    </categorie> 
    <categorie id="1" name="Social"> 
     <fav> 
      <link>Facebook</link> 
      <desc>www.facebook.com</desc> 
     </fav> 
     <fav> 
      <link>Youtube</link> 
      <desc>www.youtube.com</desc> 
     </fav> 
    </categorie> 
</data> 

Мой PHP полный код PHP. И проблема в цикле foreach. Я сравниваю имя категории, чтобы получить идентификатор и поместить новый фаворит в правильную категорию.

<?php 

$link = $_POST['link']; 
$desc= $_POST['desc']; 
$cat = $_POST['cat']; 

$xml = simplexml_load_file('../data/data.xml'); 


foreach($xml->categorie as $categorie) 
{ 
    if (strcmp($categorie['name'], $cat) == 0) 
    { 
     $num = $categorie['id']; 
     echo $num; 
     $fav = $xml->categorie[$num]->addChild("fav"," "); 
     $fav->addChild("link", $link); 
     $fav->addChild("desc", $desc); 
     $xml->asXML('../data/data.xml'); 
    } 
} 
?> 

Благодаря

+1

Пожалуйста, пост желаемого вывода XML. Это облегчит нам помощь. – Samir

+1

Нам нужно увидеть хотя бы образец XML. –

+0

Я редактирую свое сообщение с моим php-кодом и моим xml – Tetrix

ответ

0

Решение для преобразования объекта в целое с intval()

$num = intval($categorie['id']); 
$fav = $xml->categorie[$num]->addChild("fav"," "); 
$fav->addChild("link", $link); 
$fav->addChild("desc", $desc); 
$xml->asXML('../data/data.xml'); 
Смежные вопросы