Autor Zpráva
Kalby
Profil *
Dobrej mam problem s xml a ukladanim do databaze,
XML soubor vypada nejak takhle:
nabidka
ID
Cena
Neco
/nabidk
uzivatel
id
jmeno
neco
/uzivatel

a ted projizdim xml pareserem celej ten soubor, kdyz naraziim na start tag napr. nabidky, hodi mi to promenou true a do pole se zacnou ukladat hodnoty pro jednotlive tagy, ale mam problem vzdy u maklere se mi vzdy ulozi i s jeho ID i posledni id nabidky takze kdyz mam posledni nabidku ID = 8 a maklere prvniho tak do prvniho maklere se mi ulozi 81, a navic se mi neuloyi celej posledni makler. prikladam i zdrojak jak to funguje:

function startElement($parser, $name, $attrs)
{
$this->param = $name;
if($this->param=="UZIVATEL"){
$this->pomocna=true;
}
if($this->param=="NABIDKA"){
$this->nabidky=true;
}
}

function endElement($parser, $name)
{
$this->endelement = $name;
if($this->endelement=="UZIVATEL"){
$this->pomocna=false;
$this->pomocna2=true;

}
else{
$this->pomocna2=false;
}

if($this->endelement=="NABIDKA"){
$this->nabidky=false;
$this->nabidky2=true;

}
else{
$this->nabidky2=false;
}

function Data($parser, $data)
{


if($this->nabidky2){
$chyba1=mysql_query("insert into `nabidky` (`ID`) values (".$this->data["ID"].")");
$klice=array_keys($this->data);
$chyba2=mysql_query("update `nabidky` set `".$klice[0]."`='".$this->data[$klice[0]]."',`".$klice[1]."`='".$this- >data[$klice[1]]."',`".$klice[2]."`='".$this->data[$klice[2]]."',`".$k lice[3]."`='".$this->data[$klice[3]]."',`".$klice[4]."`='".$this->data [$klice[4]]."',`".$klice[5]."`='".$this->data[$klice[5]]."',`".$klice[ 6]."`='".$this->data[$klice[6]]."',`".$klice[7]."`='".$this->data[$kli ce[7]]."',`".$klice[8]."`='".$this->data[$klice[8]]."',`".$klice[9]."` ='".$this->data[$klice[9]]."',`".$klice[10]."`='".$this->data[$klice[1 0]]."',`".$klice[11]."`='".$this->data[$klice[11]]."',`".$klice[12]."` ='".$this->data[$klice[12]]."',`".$klice[13]."`='".$this->data[$klice[ 13]]."',`".$klice[14]."`='".$this->data[$klice[14]]."',`".$klice[15]." `='".$this->data[$klice[15]]."',`".$klice[16]."`='".$this->data[$klice [16]]."',`".$klice[17]."`='".$this->data[$klice[17]]."',`".$klice[18]. "`='".$this->data[$klice[18]]."',`".$klice[19]."`='".$this->data[$klic e[19]]."',`".$klice[20]."`='".$this->data[$klice[20]]."',`".$klice[21] ."`='".$this->data[$klice[21]]."',`".$klice[22]."`='".$this->data[$kli ce[22]]."',`".$klice[23]."`='".$this->data[$klice[23]]."' where `ID`='".$this->data["ID"]."'");
unset($this->data);
}
if($this->nabidky){
$this->data[$this->param] .= (string)$data;
}




if($this->pomocna2){
$chyba1=mysql_query("insert into `uzivatele` (`ID`) values (".$this->data["ID"].")");
$chyba2=mysql_query("update `uzivatele` set `LOCKED`='".$this->data["LOCKED"]."',`USER_JMENO`='".$this->data["USER _JMENO"]."',`USER_AKTIVNI`='".$this->data["USER_AKTIVNI"]."',`USER_PRI JMENI`='".$this->data["USER_PRIJMENI"]."',`USER_USERNAME`='".$this->da ta["USER_USERNAME"]."',`USER_HESLO`='".$this->data["USER_HESLO"]."',`U SER_KONTAKT`='".$this->data["USER_KONTAKT"]."',`USER_EMAIL`='".$this-> data["USER_EMAIL"]."' where `ID`='".$this->data["ID"]."'");
unset($this->data);
}

if($this->pomocna){
$this->data[$this->param] .= $data;
}

jinak ty funkce jsou cele normalne zabalene v tride a promene na zacatku mam nadefinovane, vim ze to neni zrovna nejlepsi reseni jak to delat ale uz se mi to nechce predelavat. diky moc za pomoc
Kalby
Profil *
pomoz si sam :) vyresil jsem to napsal jsem novou funkci pro zpracovani tech dat aby tam nebyli vsude ty podminky a funguje takze lock

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:

0