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> |
||
Kajman Profil |
#2 · Zasláno: 24. 6. 2016, 10:26:06
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 |
#3 · Zasláno: 25. 6. 2016, 16:44:29
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> <?}?> |
||
Časová prodleva: 9 let
|
0