Autor Zpráva
mirecekp
Profil
Mohl by jste mi někdo poradit jak řešit následující problém.
Dělám fanWeb pro basketbalovy klub a chtěl bych exportovat oficiální tabulku pořadí. Ta se nacházi na stránkách federace a je ve formátu XML zde http://www.cbf.cz/xml/table.php?p=460.

Potřeboval bych z ní vytahnout v podstatě tři položky, pořadí, jméno a body...

Nevím jak to řešit, zda to nějakým způsobem stahnout ke me na server (třeba každý den v určitou hodinu) a zde to az zpracovat (s tím bych si možná pak už vědel rady).

A nebo nejakým zpusobem automaticky načist includnout upravene ke me a zahodit zdroj ??

Web na kterem bych vyslednou tabulku chtěl zobrazit je v php jde o RS Wordpress takže kdyyb snad byl plugin, budu rád ale nic podobného jsem nenašel.

Děkuji za každý nápad a radu.
Kcko
Profil
Snadno. Pouzit simple_xml ( http://cz.php.net/manual/en/ref.simplexml.php ) a jednoduchym skriptem tudiz si vyzobnes co potrebujes. Vysledek muzes ulozit do databaze / souboru.

Aktualizaci muzes provadet cronem nebo si zjistis (pri vstupu uzivatele na stranky do tabulky ) kdy se stahla naposled ( urcis si nejaky interval, treba kazdych 8h) a znova stahnes ..a porad dokola
Kcko
Profil
<?php 

$res = simplexml_load_file('http://www.cbf.cz/xml/table.php?p=460');

if ($res)
{
	$data = array();
	foreach ($res->team as $item)
	{
		$data[] = array($item->pos, $item->name, $item->pt);
		
	}
	
	echo '<pre>';
	print_r($data);
	echo '</pre>';

// nazev prvniho tymu
echo $data[0][1]; // atd
	
	
}
?>
mirecekp
Profil
Děkuji za super rychlou reakci. Odzkouším to a dám vědět jak jsem dopadl.
mirecekp
Profil
Tak chvylku m ito trvalo ale nakonec jsem to zapomocí odkazu na php.net dal dohromady... toto jsem puvodně chtěl....

Díky Kcko

<?php 
$xml = simplexml_load_file('http://www.cbf.cz/xml/table.php?p=460');
if ($xml)
{
    $data = array();
    foreach ($xml->team as $item)
    {
        $data[] = array($item->pos, $item->name, $item->pt);
    }
    echo "<table>";
    echo "<tr><td>Pořadí</td><td>Tým</td><td>Body</td><td></tr>";
    echo "<tr><td>",$data[0][0],"</td><td>",$data[0][1],"</td><td>",$data[0][2],"</td></tr>";
    echo "<tr><td>",$data[1][0],"</td><td>",$data[1][1],"</td><td>",$data[1][2],"</td></tr>";
    echo "<tr><td>",$data[2][0],"</td><td>",$data[2][1],"</td><td>",$data[2][2],"</td></tr>";
    echo "<tr><td>",$data[3][0],"</td><td>",$data[3][1],"</td><td>",$data[3][2],"</td></tr>";
    echo "<tr><td>",$data[4][0],"</td><td>",$data[4][1],"</td><td>",$data[4][2],"</td></tr>";
    echo "<tr><td>",$data[5][0],"</td><td>",$data[5][1],"</td><td>",$data[5][2],"</td></tr>";
    echo "<tr><td>",$data[6][0],"</td><td>",$data[6][1],"</td><td>",$data[6][2],"</td></tr>";
    echo "<tr><td>",$data[7][0],"</td><td>",$data[7][1],"</td><td>",$data[7][2],"</td></tr>";
    echo "<tr><td>",$data[8][0],"</td><td>",$data[8][1],"</td><td>",$data[8][2],"</td></tr>";
    echo "<tr><td>",$data[9][0],"</td><td>",$data[9][1],"</td><td>",$data[9][2],"</td></tr>";
    echo "<tr><td>",$data[10][0],"</td><td>",$data[10][1],"</td><td>",$data[10][2],"</td></tr>";
    echo "<tr><td>",$data[11][0],"</td><td>",$data[11][1],"</td><td>",$data[11][2],"</td></tr>";
    echo "</table>";
}
?>
tiso
Profil
mirecekp - pokiaľ to potrebuješ len vypísať, tak stačilo takto:
$xml = simplexml_load_file('http://www.cbf.cz/xml/table.php?p=460');
if ($xml)
{
    $out = '';
    foreach ($xml->team as $item){
        $out.= '<tr><td>'.$item->pos.'</td><td>'.$item->name.'</td><td>'.$item->pt.'</td></tr>';
    }
    echo '<table>'.$out.'</table>';
}
mirecekp
Profil
Díky tiso.
Jsem rád že jsem na to přišel sám. Ale je vidět, že kdo umí ....dá se to napsat jednodušeji, nebo spíš úsporněji.
Alena K.
Profil *
Dobrý den, mám podobný problém, potřebuji data ve formátu xml vložit do HTML stránky, ale toto je pro mne španělská vesnice... Kam sa mají vložit tyto výše uvedené kódy? Přímo do html stránky tam kde chci, aby se mi to zobrazovalo nebo do nějakého jiného souboru? Když je vložím do html stránky, ukazuje mi to jen ten kód a nic se nenačte...
mirecekp
Profil
Tento kod musí být v php strance, takže tento kod vloz jak řikáš tam kde chceš aby se to zobrazovalo, a ten konkretni soubor např. index.html přejmenuj na index.php samozřejmě hosting musí podporovat php...
Alena K.
Profil *
Takže stránku jsem přejmenovala na index.php, vložila jsem do ní ten kód tam kde chci, aby se to zobrazovalo a nic to nedělá, ve stránce se zobrazuje jen ten kód..... omlouvám se za mou naprostou laickost, asi tam je něco špatně že. :-(
mirecekp
Profil
Dej sem odkaz na stránku kde to používáš, popřípadě sem vlož její kod... At máme podle čeho radit.
Alena K.
Profil *
Je to stránka: http://www.dogstravel.xf.cz/Alpy_Lago_di_Garda.php

Těsně před tu reklamu Webzdarma potřebuju vložit soubor xml.php.xml (je na serveru nahraný také, v takovéto podobě jsem ho obdžela), pokusila jsem se ho převést do php, ale to asi nelze, jelikož to potom mělo nějaký úplně jiný kód...

Moc děkuji za jakoukoli radu, já dělám jen v html a s tímhle se moc neumím poprat. :-(
mirecekp
Profil
dej sem cey php kod... z tohodle se to neda vycist a pokud se ti zobrazuje ten kod tak jsi ho neoznacila jako php kod... musi zacinat <?php a koncit ?>
Alena K.
Profil *
Jsem z toho jelen. :-D Myslíte toto?

<?php
$xml = simplexml_load_file('xml.php.xml');
if ($xml)
{
$out = '';
foreach ($xml->team as $item){
$out.= '<tr><td>'.$item->pos.'</td><td>'.$item->name.'</td><td>'.$item->pt.'</td></tr>';
}
echo '<table>'.$out.'</table>';
?>

nebo kód celé stránky:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />

<title>Dogs travel</title>

<meta name="keywords" content="" />
<meta name="description" content="" />

<link href="styles.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<body>
<div id="back">
<!-- header begins -->
<div id="header">
<div id="logo">

</div>
<div id="menu">
<ul>
<li><a href="index.html">Úvod</a></li>
<li><a href="rady_a_informace.html">Rady a informace</a></li>
<li><a href="podminky.html">Podmínky</a></li>
<li><a href="jak_objednavat.html">Jak objednávat</a></li>
<li><a href="kontakty.html" title="">Kontakty</a></li>
<li><a href="objednavka_na_miru.html" title="">Objednávka na míru</a></li>
</ul>
</div>
</div>
<!-- header ends -->
<!-- content begins -->
<div id="main">
<div id="right">
<h2>Nabídka zájezdů - Alpy, Lago di Garda</h2><br />

<B>ITALSKÉ ALPY, JEZERA A HORY:</B> <A HREF="Alpska_jezera-eurotime.pdf" TARGET="_blank"><B>katalog ve formátu pdf ke stažení zde</B></A><BR>
<BR>
<I>
<B>Obsah katalogu:</B><BR>
Různé hotely a residence v oblasti jezer Lago do Garda, Lago do Como a Lago Maggiore a v dalších oblastech italských Alp.
</I>
<BR>
<BR>

<B>LAGO DI GARDA:</B><BR>
Club hotel La Vela <BR>
Hotel Mirage <BR>
Hotel Resort Splendid Sole <BR>
Hotel Royal <BR>
Hotel Royal Village <BR>
Rezidence Bran&Denise <BR>
Rezidence Filanda <BR>
Hotel castelli <BR>
Rezidence Jolly <BR>
Rezidence Onda Blu <BR>
Rezidence Paradise <BR>
Rezidence san Sivino <BR>
<BR>
<B>LAGO DI MAGIORRE </B><BR>
Hotel res. Tre Ponti

<BR>
<BR>

<?php
$xml = simplexml_load_file('xml.php.xml');
if ($xml)
{
$out = '';
foreach ($xml->team as $item){
$out.= '<tr><td>'.$item->pos.'</td><td>'.$item->name.'</td><td>'.$item->pt.'</td></tr>';
}
echo '<table>'.$out.'</table>';
?>

<BR><BR>
<!--WZ-REKLAMA-1.0IZ--><div align="center"><table width="496" border="0"
cellspacing="0" cellpadding="0"><tr><td><a href="http://www.webzdarma.cz/"><img
src="http://i.wz.cz/banner/nudle03.gif" width="28" height="60"
style="margin: 0; padding: 0; border-width: 0" alt="WebZdarma.cz" /></a></td><td>
<script type="text/javascript">
<!-- /* (c) 2001 AdCycle.com All Rights Reserved.*/
var id=743; var jar=new Date();var s=jar.getSeconds();var m=jar.getMinutes();
var flash=s*m+id;var cgi='http://ad.wz.cz';
var p='<iframe src="'+cgi+'/ad.cgi?gid=10&amp;t=_top&amp;id='+flash+'&amp;type=iframe" ';
p+='height="60" width="468" border="0" marginwidth="0" marginheight="0" hspace="0" ';
p+='vspace="0" frameborder="0" scrolling="no">';
p+='<a href="'+cgi+'/click.cgi?gid=10&amp;id='+flash+'" target="_top">';
p+='<img src="'+cgi+'/ad.cgi?gid=10&amp;id='+flash+'" width="468" height="60" ';
p+='border="0" alt="Klikni" /></'+'a></'+'ifra'+'me>'; document.write(p); // -->
</script><noscript><div><a href="http://ad.wz.cz/click.cgi?gid=10&amp;id=743"><img
src="http://ad.wz.cz/ad.cgi?gid=10&amp;id=743"
width="468" height="60" style="margin: 0; padding: 0; border-width: 0" alt="Klikni" /></a></div></noscript>
</td></tr></table></div>
<!--WZ-REKLAMA-1.0IK-->
</div>


<!--content ends -->
<!--footer begins -->
</div>



<div style="clear: both"></div>
</div>
<div id="footer">

<p>Webmaster: <a href="http://www.ally.webz.cz/" target="_blank">Alena Krčmářová</a>
</p>
</div>

<!-- footer ends-->

</html>

A potřebuju do toho vložit tento soubor: http://www.dogstravel.xf.cz/xml.php.xml
Mike8748
Profil
Alena K.
php kod musi zacinat prologem <?php nebo ve zkracene forme <? (zkracene forme doporucuju se vyhnout, ne vsude bude fungovat a pro budouci verze php se s ni nepocita)

blok php kodu ukoncit ?>

ty tam mas jenom spicaty zavorky, ale ten otaznicek a php uz ne

edit: zajimavy, na strance mas jenom < a > ale co pastujes sem tady to mas spravne
Alena K.
Profil *
Aha, přímo celá stránka? To jsem zkusila a napsalo mi to toto:

Parse error: parse error in /3w/xf.cz/d/dogstravel/Alpy_Lago_di_Garda.php on line 4
mirecekp
Profil
Ty jsi tam vložila ten muj php kod !!! nestaci jen zmenit zdroj... ti tam v tom XML nemas zadné tegy pos name ani pt !!! musíš si upravit ten php kod podle struktury TVEHO XML !
Alena K.
Profil *
No, to je právě to, co vůbec netuším jak.... jinak bych sem nepsala. Omlouvám se, že takhle otravuju. :-(
Ptrus10
Profil *
Jsem lama, ale podařilo se mi upravit vygoolený kód, který dělá to co má. Na co nemůžu přijít je jak udělat aktivní odkaz a místo obrázku se vypisuje jen cesta k obrázku. Poradíte někdo jak to udělat? Díky. Zde je část kódu:
if( ! $xml = simplexml_load_file('soubor.xml') ) 
    { 
        echo 'unable to load XML file'; 
    } 
    else 
    { 
        foreach( $xml as $user ) 
        { 
            echo '1 '.$user->TITLE.'<br />'; 
            echo '2 '.$user->URL.'<br />'; 
            echo '3 '.$user->IMAGE.'<br />';
        } 
    }
tiso
Profil
 echo '2 <a href="'.$user->URL.'">text odkazu</a><br />';
echo '3 <img src="'.$user->IMAGE.'"><br />';
Ptrus10
Profil *
Díky.
Ptrus10
Profil *
Vrtám se v tom dál a vytvořil jsem zkušeně toto:
<?php 

    if( ! $xml = simplexml_load_file('http://www.zazitky.cz/data/exports/zazitky-pap.xml') ) 
    { 
        echo 'unable to load XML file'; 
    } 
    else 
    { 
        foreach( $xml as $user ) 
        {
        if($index > 50){ break; }
        $index++;
            echo '1 '.$user->PRODUCT.'<br />'; 
            echo '2 '.$user->URL.'<br />'; 
            echo '3 <img src="'.$user->IMGURL.'"><br />';
        } 
    }

?>

Problém je, že cca 5 nabídek se nezobrazí. Nevíte někdo proč? Díky.


Pardon. Místo "zkušeně" tam mělo být "zkušebně".
Milan_HR
Profil *
Jak mám upravit předchozí kód aby se mi vypisovala jen určitá kategorie? Když vezmu uvedný XML soubor http://www.zazitky.cz/data/exports/zazitky-pap.xml a budu chtít vypisovat jen zážitky z kategorie <CATEGORYTEXT>Vzdušný zážitek</CATEGORYTEXT> jak to udělat? Děkuji za pomoc.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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