Autor Zpráva
juraj
Profil
Zdravim
ako z xml súboru vložím údaje aby sa child spároval s parent?

    $doc = new DOMDocument();
      $doc->preserveWhiteSpace = false;
$doc->load($url);
      $i=0;
            while(is_object($finance = $doc->getElementsByTagName("Student")->item($i)))
            {
                     foreach($finance->childNodes as $nodename)
                     {
                             if($nodename->nodeName=='Param')
                                {
                                     foreach($nodename->childNodes as $subNodes)
                                     {
                                  //  echo $subNodes->nodeName." - ".$subNodes->nodeValue."<br>";//param
                            $p=$subNodes->nodeValue;
                            insrert db
     
                                     }                              
                                }
                             else
                                {
                                 $nodename->nodeName." - ".$nodename->nodeValue."<br>";
                         IF($nodename->nodeName=='Name'){
                     // ECHO $nodename->nodeName;

                        $NAME=$nodename->nodeValue;    
                                        ECHO "<BR>";
                                        insert db
                                                     }
 
                                }
                     }                                
      $i++;
            }

ukážkový xml súbor

<?xml version="1.0" encoding="windows-1250"?>
<studentrecord>
    <Student nationality="American">
        <Name>Mike</Name>
    <Age>10</Age>
    <Gender>Male</Gender>
    <School city="Washington">Kosice</School>
        <Param>
    <PARAM_NAME>RIFLE</PARAM_NAME>
        <VAL>692</VAL>
                <UNIT>TB</UNIT>
    </Param>
    </Student>
    </studentrecord>
Aby hodnoty ktoré su PARAM.SEDELI AJ V DATABAZE dakujem za rady
Kajman
Profil
Nejprve uděláte insert studenta, zapamatujete si vzniklé insert_id. Teprve potom dělejte foreach cyklus na ukládání jeho parametrů.
juraj
Profil
Kajman:
Zdravím
mám taký kód, kde dátata z xml súboru uklada do db.Ale, keď zmením údaj Name v xml subore tak do mysql sa mi nechce zapísať.
Vie niekto poradiť?
 $url=$_GET['url'];
 
 $idcesty=$_GET['idcesty'];
 $domOBJ = new DOMDocument();
 $domOBJ->load($url);//XML page URL

 $content = $domOBJ->getElementsByTagName("Student");
$student = $domOBJ->getElementsByTagName("Student");                                
 $cs = $student->length;  

 foreach( $content as $data )
 {
   $title = $data->getElementsByTagName("Name")->item(0)->nodeValue;
  $link = $data->getElementsByTagName("Age")->item(0)->nodeValue;
 $Gender = $data->getElementsByTagName("Gender")->item(0)->nodeValue;
$get_tag = $data->getElementsByTagName("Param");                                
$c = $get_tag->length;  

$parametre = array();//$value = array();
for($i=0;$i<=$c;$i++){ $i;

   $PARAM_NAME = $data->getElementsByTagName("PARAM_NAME")->item($i)->nodeValue;
  $title = $data->getElementsByTagName("Name")->item(0)->nodeValue;
   $vek= $data->getElementsByTagName("Age")->item(0)->nodeValue;
   $Gender = $data->getElementsByTagName("Gender")->item(0)->nodeValue;
   
  $parametre[]= $get_tag->item($i)->nodeValue;  


 //  $VAL = $data->getElementsByTagName("VAL")->item($i)->nodeValue;
  //$UNIT = $data->getElementsByTagName("UNIT")->item(0)->nodeValue;
 $f= @implode(',', $parametre);
  $sqlk = sprintf("SELECT idtovar FROM tovary WHERE idxml ='$idcesty'  ");
mysql_query("set names 'utf8'");
$vysledok = mysql_query($sqlk);
 $count = mysql_num_rows($vysledok); 
 if($cs!=0){
  if($countf==0){
 $sqlk = sprintf("SELECT idtovar FROM tovary WHERE idxml ='$idcesty' and nazov ='$title' ");
mysql_query("set names 'utf8'");
$vysledok = mysql_query($sqlk);
 $countdb = mysql_num_rows($vysledok); 
    if($countdb==0){
 $sqlk="INSERT INTO tovary(nazov,parametre,author,idxml,idclenn)
VALUES('$title','$f','$vek','$idcesty','$idregclen')";
} } 
  }  if($cs==$countf){echo "up";
echo $sqlk = sprintf("SELECT idtovar FROM tovary ");
mysql_query("set names 'utf8'");
$vysledok = mysql_query($sqlk);
  while(list( $idtovar) = mysql_fetch_row($vysledok)) {
echo $sqlk = "UPDATE tovary
             SET nazov = '$title'
          WHERE idtovar = '$idtovar'"; 
 }
}


  
  
    $resultk=mysql_query($sqlk)or die(mysql_error());
  


}




 



 //$resultk=mysql_query($sqlk)or die(mysql_error());

}



?>

<br>

<?}?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0