Vkladani zaznamu z XML do databaze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vkladani zaznamu z XML do databaze – PHP – Fórum – Programujte.comVkladani zaznamu z XML do databaze – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
25. 12. 2007   #1
-
0
-

Dobrej mam problem ohledni vkladani zaznamu do databaze, vytvoril jsem si nejakou databazi kde se nazvy sloupcu shoduji s nazvy XML tagu a mam kod



function characterData($parser, $data)
{

global $znacka;

if ($i==true){
mysql_query("insert into uzivatele (".$znacka.") values ('$data')");
}
}

dal uz je to stejny jako pro praci xml, mam tam nejake funkce pro start a end element atd.
promena znacka je startElement, XML ma priblizne takovouhle strukturu:


<ID>1</ID>
<LOCKED>False</LOCKED>
<USER_JMENO>Nekdo</USER_JMENO>
<USER_AKTIVNI>1</USER_AKTIVNI>
<USER_PRIJMENI>Administrator</USER_PRIJMENI>
<USER_USERNAME>Admin</USER_USERNAME>
<USER_HESLO>olymp1</USER_HESLO>
<USER_KONTAKT />
<USER_EMAIL />


a ted dycky se mi do databaze vlozi spravne vsechny ID a u prvniho ID vlozi i do sloupce LOCKED hodnotu false, nic vic tam to zamrzne a nevim co s tim :( zkousel sem i vsechny sloupce v databazi nastavit na text, taky nic, jeste by me zajimalo jak zjistim jestli jsou mezi elementy nejaka data. zkousel jsem data=="", !isset(data), i data==null ale pokazdy kdyz to narazilo na element bez dat tak to nic nevypsalo
dik za pomoc



Nahlásit jako SPAM
IP: 193.165.66.–
Reklama
Reklama
hrach
~ Redaktor
+1
Boss
26. 12. 2007   #2
-
0
-

pokud neuvedes vsechen svuj kod, neni mozno pomoci :|

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
byF0
Návštěvník
27. 12. 2007   #3
-
0
-



function characterData($parser, $data) {

global $znacka;

if ($i==true) {

mysql_query("insert into uzivatele (".$znacka.") values ('$data')");

}

}


Neznám význam proměnné i. Ale tenhle kód dělá to, že pokaždé, když projde má zpracovat nějaký tag, udělá během zpracování textových dat následující (pro xml data uvedená výše):

<ID> insert into uzivatele ("ID") values ('1')
<LOCKED> insert into uzivatele ("LOCKED") values ('False')
<USER_JMENO> insert into uzivatele ("USER_JMENO") values ('Nekdo')
...
atd, nevím, jestli tohle způsobuje chybu, ale určitě to takhle být nemá, že :)

Doporučuji použít např. SimpleXML (http://cz2.php.net/manual/cs/ref.simplexml.php) pro obyčejnou manipulaci s XML soubory, věř mi, ušetříš si dost práce s psaním vlastního parseru. SimpleXML je hezké a objektové. EDIT: není teda úplně tak hezké, ale pro tenhle styl XML souborů by měl dostačovat.

Nahlásit jako SPAM
IP: 217.75.214.–
hrach
~ Redaktor
+1
Boss
27. 12. 2007   #4
-
0
-

To byF : vubec prace s XML je v php prasarna.. mozna spis doporucuju XMLReader :)

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
byF0
Návštěvník
28. 12. 2007   #5
-
0
-

To hrach : Proto jsem konečně přesedlal na Javu, PHP už mě vytáčelo dost dlouho (f.e. Unicode).

Nahlásit jako SPAM
IP: 217.75.214.–
dalaman0
Věrný člen
28. 12. 2007   #6
-
0
-

Na parsovanie XML v PHP ja pouzivam simpleXML

Nahlásit jako SPAM
IP: 91.127.247.–
Lepšie je mať psa na saláme ako salámu pod psom !!!
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
2. 1. 2008   #7
-
0
-

Tak uz sem to konecne rozchodil ale celkem to trvalo, pac mi to jeste rozsekavalo ceske znaky nakonec jsem to vyresil tak ze hodnoty jsem ukladal do pole a az pote je vkladal do databaze, jinak mrknu na ty odkazy protoze tohle je jen ta jednodusi cast z toho xml souboru kterej ma btw. neco kolem 150 kb :)

Nahlásit jako SPAM
IP: 193.165.66.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý