Autor Zpráva
BHMarten
Profil *
Ahoj, potrebuju radu, nejsem programator ale rozhodl jsem se zkusit si udelat script pro export dat z databaze na serveru do XML... neco jsem nacetl na netu, ale stejne z toho nejsem moc moudrej, muj vytvor zatim tady :

$sql = "SELECT product_code, article, description, our_price FROM tab_products";
$result = mysql_query($sql) or die ( mysql_error() );

echo "<SHOP>";


while ($line = mysql_fetch_assoc($result) )
{

echo "<SHOPITEM>";
echo "<product_code>" . $line['product_code'] . "</product_code>";
echo "<article>" . $line['article'] . "</article>";
echo "<description>" . $line['description'] . "</description>";
echo "<our_price>" . $line['our_price'] . "</our_price>";
echo '</p>';
echo "</SHOPITEM>";
}

echo "</SHOP>";

_________________________________________

takhle vypada vystup .>>>>

837005Nůž na chléb a pečivo 23 cm

* Ke krájení chleba

270

837006Nůž filetovací 21 cm

* Pružná čepel je určena k filetování ryb

270


a melo by to vypadat takhle >>>>>>>>>>>>>>

<SHOP>
<SHOPITEM>
<PRODUCT>SEKERA MALÁ KEMPINKOVÁ 500 - 121120</PRODUCT>
<DESCRIPTION>plátěné pouzdro, malá a lehká s velkou účinností, pro turisty a rybáře</DESCRIPTION>
<URL>http://www.fiskars-obchod.cz/detail.php?q0=ZAHRADA&q1=sekery&prod uct_code=121120&page=1&</URL>
<IMGURL>http://www.fiskars-obchod.cz/images/medium/121120.jpg</IMGURL>
<PRICE_VAT>794</PRICE_VAT>
</SHOPITEM>


</SHOP>

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
poradí nekdo pls ?
nightfish
Profil
dej si zobrazit zdrojový kód (ve firefoxu Ctrl+U, v IE přes menu)
bude tam zřejmě to, co potřebuješ...
BHMarten
Profil *
dej si zobrazit zdrojový kód (ve firefoxu Ctrl+U, v IE přes menu)
bude tam zřejmě to, co potřebuješ...


kopni do me trochu vic pls.. jsem fakt lama.. co tam uvidim v tom kodu _?
nightfish
Profil
problém je v tom, že do výstupu vypisuješ XML značky, které bude prohlížeč ignorovat, a proto je na stránce nezobrazí... nicméně ve zdrojovém kódu bude napsáno přesně to, co pomocí echo vypíšeš
BHMarten
Profil *
mas pravdu, je to tak... nicmene je to tam naladovany za sebou, potreboval bych to odradkovat... a v tom popisu jsem pouzival v databazi <ul><li> to bych taky potreboval asi vyhazet.. to by slo pak mozna nejak hromadne nahradit.
BetaCam
Profil
BHMarten
nicmene je to tam naladovany za sebou, potreboval bych to odradkovat...

$sql = "SELECT product_code, article, description, our_price FROM tab_products"; 
$result = mysql_query($sql) or die ( mysql_error() ); 

echo "<SHOP>"; 


while ($line = mysql_fetch_assoc($result) ) 
{ 

echo "<SHOPITEM>\n"; 
echo "<product_code>" . $line['product_code'] . "</product_code>\n"; 
echo "<article>" . $line['article'] . "</article>"; 
echo "<description>" . $line['description'] . "</description>\n"; 
echo "<our_price>" . $line['our_price'] . "</our_price>\n"; 
echo "</p>\n"; 
echo "</SHOPITEM>\n"; 
} 

echo "</SHOP>\n";


Mimochodem to </p> je tam naschvál??
BHMarten
Profil *
</p> jsem tam mel pred tim ze se mi cena lepila na kod, tak jsem to tim odsunul :) jsem fakt lama :) nikdy jsem nic neprogramoval.
BHMarten
Profil *
tohle uz je lepsi. diky.. njn kdyz neznam ty prikazy... jde to nejak ulozit do souboru ? je na to nejaky prikaz pls ?
BHMarten
Profil *
mezi tyto dve hodnoty chci mezeru $line['product_code'] . $line['article'].

jak ji tam dostat pls ?
BetaCam
Profil
BHMarten
mezi tyto dve hodnoty chci mezeru $line['product_code'] . $line['article']

$line['product_code'] .' '. $line['article']


jde to nejak ulozit do souboru ? je na to nejaky prikaz pls ?

$out = '';
$sql = "SELECT product_code, article, description, our_price FROM tab_products"; 
$result = mysql_query($sql) or die ( mysql_error() ); 

$out .= "<SHOP>"; 


while ($line = mysql_fetch_assoc($result) ) 
{ 

$out .=  "<SHOPITEM>\n"; 
$out .=  "<product_code>" . $line['product_code'] . "</product_code>\n"; 
$out .=  "<article>" . $line['article'] . "</article>"; 
$out .=  "<description>" . $line['description'] . "</description>\n"; 
$out .=  "<our_price>" . $line['our_price'] . "</our_price>\n"; 
$out .=  "</SHOPITEM>\n"; 
} 

$out .=  "</SHOP>\n";

file_put_contents('soubor.txt', $out);
BHmarten
Profil *
Chyba parsování XML: Nenalezen žádný prvek
Číslo řádku 19, sloupec 1:

tady mi to hodi tuhle chybu >>> $out .= "<SHOP>";

(jinak diky moc za pomoc, v zapalu jsem ani nepodekoval za rady
BHmarten
Profil *
aha to je chyba pochazejici z databaze...
BHmarten
Profil *
ted koukam ze i pres tu chybu tam ten soubor je....
BHmarten
Profil *
slo by jeste nejak dat mezeru mezi <shopitem> a </shopitem> tak jak to maji tady v ukazce ?

<IMGURL>http://obchod.cz/obrazky/podlozky-pod-mys/fosfor.jpg</IMGURL>
<PRICE>620</PRICE>
<PRICE_VAT>756</PRICE_VAT>
</SHOPITEM>

<SHOPITEM>
<PRODUCT>Podložka pod myš - kočka</PRODUCT>
<DESCRIPTION>Ergonomická podložka pod myš, potisk s .</DESCRIPTION>
<DUES>20</DUES>
BetaCam
Profil
BHmarten
slo by jeste nejak dat mezeru mezi <shopitem> a </shopitem> tak jak to maji tady v ukazce ?

To neni mezera to je prázdnej řádek. Odřádkování se dělá pomocí "\n"

takže například v tom scriptu nahoře se dá místo :

$out .=  "</SHOPITEM>\n"; 


tohle :

$out .=  "</SHOPITEM>\n\n"; 
BHmarten
Profil *
no to me napadlo, jestli se to tak da pouzit, fajn, jdu to prubnout... diky !
BHmarten
Profil *
perfekt, maka to.... ;) diky... tak a posledni lahudka je asi lahudka nejvetsi... neni to nutny, protoze by to slo delat hromadnou nahradou.... pouzivam v DB zaznamy urceny pro seznam... akze pouzivam -> <ul><li> ... jde nejak naprogramovat aby si techto znacek script nevsimal a ignoroval je a navypisoval je ?
BetaCam
Profil
BHmarten

mysliš jako že máš v DB uložené záznamy včetně značek <ul><li>??
BHMarten
Profil *
jj v databazi mam text a je dost dlouhej a tak se to tam dalo aby to na webu pak bylo jako seznam zacinajici teckama.
BetaCam
Profil
BHMarten
jj v databazi mam text a je dost dlouhej a tak se to tam dalo aby to na webu pak bylo jako seznam zacinajici teckama.


$tags =array('<ul>','</ul>','<li>','</li>');
$text = str_replace($tags, '',$text);
BHMarten
Profil *
tak nevim kam to presne vrazit... :( jsem zkusil asi tri mista :)
BHMarten
Profil *
jinak koukam BetaCam-e, ze jsi odbornik... budu pak potrebovat od nekoho udelat Cool URI na tomhle webu - www.fiskars-obchod.cz , mam uz teda neco rozjednanyho ale to by nevadilo. kdybys mel zajem tak kdyz tak napis, zadarmo to nechci.
BetaCam
Profil
BHMarten
tak nevim kam to presne vrazit... :( jsem zkusil asi tri mista :)

To záleží natom odkud to chceš přesně vyříznout.

kdybys mel zajem tak kdyz tak napis, zadarmo to nechci.

Zájem bych určitě měl. Popravdě ted sem tak nějak v situaci kdy se hodí každá koruna. :)
BHMarten
Profil *
tak se mi ozvi kdyz tak na mail bhmarten(*)centrum.cz a reknu ti co potrebuju a jak a ty se mrknes na to zda je to mozny a uvidime.

no tohle (<ul>','</ul>','<li>','</li>) je obsazeno pouze v casti DESCRIPTION ->> $out .= "<description>" . $line['description'] . "</description>\n";
BetaCam
Profil
BHMarten

Buď

$out = '';
$tags =array('<ul>','</ul>','<li>','</li>');
$sql = "SELECT product_code, article, description, our_price FROM tab_products"; 
$result = mysql_query($sql) or die ( mysql_error() ); 

$out .= "<SHOP>"; 


while ($line = mysql_fetch_assoc($result) ) 
{ 

$out .=  "<SHOPITEM>\n"; 
$out .=  "<product_code>" . $line['product_code'] . "</product_code>\n"; 
$out .=  "<article>" . $line['article'] . "</article>"; 
$out .=  "<description>" . str_replace($tags, '', $line['description']) . "</description>\n"; 
$out .=  "<our_price>" . $line['our_price'] . "</our_price>\n"; 
$out .=  "</SHOPITEM>\n"; 
} 

$out .=  "</SHOP>\n";

file_put_contents('soubor.txt', $out);


nebo

$out = '';
$tags =array('<ul>','</ul>','<li>','</li>');
$sql = "SELECT product_code, article, description, our_price FROM tab_products"; 
$result = mysql_query($sql) or die ( mysql_error() ); 

$out .= "<SHOP>"; 


while ($line = mysql_fetch_assoc($result) ) 
{ 

$out .=  "<SHOPITEM>\n"; 
$out .=  "<product_code>" . $line['product_code'] . "</product_code>\n"; 
$out .=  "<article>" . $line['article'] . "</article>"; 
$out .=  "<description>" . $line['description'] . "</description>\n"; 
$out .=  "<our_price>" . $line['our_price'] . "</our_price>\n"; 
$out .=  "</SHOPITEM>\n"; 
} 

$out .=  "</SHOP>\n";

$out = str_replace($tags, '', $out);
file_put_contents('soubor.txt', $out);


tak se mi ozvi kdyz tak na mail bhmarten(*)centrum.cz a reknu ti co potrebuju a jak a ty se mrknes na to zda je to mozny a uvidime.

Radši prosím napiš rovnou co potřebuješ mě na email betacam(*)centrum.cz a ja ti pak odepíši. Dekuji.
BHMarten
Profil *
ok. tohle maka... pouzil jsem tu verzi pro tu upravu na vystupu, neco mazu a neco nahrazuji teckou. diky.

2BETACAM : poslal jsem ti mail

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: