Autor Zpráva
Manny
Profil *
Ahoj, mám takový problém. Tahám z XML data a je zhruba následující struktura:
<document>
 <a>aaa</a>
 <b name="neco">
  <b value="L" />
  <b value="S" />
 </b>
 <b name="neco2">
  <b value="1">
  <b value="2"> 
  <b value="3">
  <b value="4">
  <b value="5">
 </b>
<document>


Načíst prvky se mi podařilo, ale problém spočívá v tom, že mám v tabulce sloupce "neco" a "neco2" a tam bych potřeboval uložit toto:
neco | neco2
     L | 1
     L | 2
     L | 3
     L | 4
     L | 5
     S | 1
     S | 2
     S | 3
     S | 4
     S | 5

zatím jsem došel pouze tam, že si uložím každou informaci na samostatný řádek, čili:
id | neco | neco2
  1       L | 
  2       S | 
  3       L | 1
  4          | 2
  5          | 3
  6          | 4
  7          | 5

Nevíte, jak by se to dalo vyřešit? Díky.
Manny
Profil *
edit:
id | neco | neco2
  1       L | 
  2       S | 
  3          | 1
  4          | 2
  5          | 3
  6          | 4
  7          | 5
SwimX
Profil
Manny:
ukaž jak to zapisuješ ať můžem něco vymyslet.
takle obecně řekněme:

foreach(neco as $k => $v){
  foreach(neco2 as $k2 => $v2){
    insert into TABLE (neco, neco2) VALUE ($v, $v2);
  }
}
Manny
Profil *
SwimX
tahle ukázka je zjednodušená, v reálu to vypadá takhle:
<document>
 <a>aaa</a>
 <b name="neco">
  <b value="L" />
  <b value="S" />
 </b>
 <b name="neco2">
  <b value="1">
  <b value="2"> 
  <b value="3">
  <b value="4">
  <b value="5">
 </b>
 <b name="neco3"> //tohle zvládám zpracovat
  <b value="L/1">
  <b value="S/2"> 
 </b>
<document>


ve zdrojáku mám něco takového:
foreach() //cyklus, ve kterem nacitam XML
 {
 if($bla=='neco') {
  insert into TABLE (neco, zbozi) VALUE ($neco, $id_zbozi);
 }
 elseif($bla=='neco2') {
  insert into TABLE (neco2,zbozi) VALUE ($neco2,$id_zbozi);
 }
 elseif($bla=='neco3') {
  insert into TABLE (neco,neco2,zbozi) VALUE ($neco,$neco2,$id_zbozi);
 }
}


A já bojuju s těmi prvními dvěma podmínkami, nevím jak to dostat do toho požadovaného tvaru. Původně jsem to chtěl udělat tak, že uložím do sloupce "neco" tu hodnotu $neco (1. if), pak do "neco2" hodnotu $neco2 (1. elseif) a pak bych si všechny tyto hodnoty vytáhnul (mají stejnou hodnotu všechny řádky ve sloupci "zbozi" - $id_zbozi) a nějak to dal dohromady, bohužel nmě nenapadá jak a zdá se mi to příliš komplikované:/

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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