odesilani dat

něco v tomto duchu?
http://ds.mysteria.cz/ct.php?ur=0
http://ds.mysteria.cz/ct.php?ur=1
http://ds.mysteria.cz/ct.php?ur=2
Spotřeba kWh za hodinu je prostě jen kW.
Jojo něco takového, jen mě zajímají čísla, ty texty ne.
Ale to už bych spáchal.
Kde leží skript?
Díky
<?php
if(empty($_GET)){
echo "Chybi parametr s cislem radku";
}else{
$ukaz=$_GET['ur'];
$obsah=file_get_contents("http://109.80.22.31/xml.xml");
$nalezeno=true;
$i=0;
$data=array();
$trans = array("</" => "|</");
while ($nalezeno) {
$h1="<s0_$i>";$h2="</s0_$i>";
$pos1 = strpos($obsah, $h1);
if ($pos1 === false) {
$nalezeno=false;
}else{
$pos2 = strpos($obsah, $h2);
if ($pos2 === false) {
$nalezeno=false;
}else{
$posx=$pos1+strlen($h1);
$radek=substr($obsah,$posx,$pos2-$posx);
$radek= strip_tags(strtr($radek, $trans));
$data[]= substr($radek,0,strlen($radek)-1);
}
}
$i++;
}
if (array_key_exists($ukaz, $data)) {
echo $data[$ukaz];
}
}
?>
jestli tě zajímají jen čísla tak si uprav ten skript a místo doplnění | jako oddělovače položek si ze řádku vykousni jen ty hodnoty, které tě zajímají
až je mi to trapné, ale nevím kde všude mám skript změnit.
Zkouším, kde myslím, ale bezvýsledně.
A jak má výstup vlastně vypadat?
nerozumím?
vždy jedna hodnota
chci to dosadit sem

http://hrdlickovi.wz.cz/aktualni_spotreba.html
a která hodnota?
třeba aktuální spotřeba kwk
tedy kWh
Takže dva údaje z každého řádku?
A jak si představuješ předání dat z PHP skriptu do zdrojového kódu té stránky?
tedy tři údaje, ještě je tam ten tarif
ne stránka bude v php.
z každého řádku jen jeden udaj.
zajímají mě čísla
ale později bych rád vyčítal více informací.
myslel jsem, že se mě ptáš, co chci vyčítat z toho XML.

později všechny hodnoty. (skoro)
Jsou to napěťové vstupy
16 teploměrů (momentálně používám 6), ty už čtu jinak
výstupy....
OK, takže ta aktuální spotřeba. Tedy to, co je označeno jako <act>...</act>

první cesta je, že ponechá ten skript tak jak je a výsledé texty se rozděli na jednotlivé položky a vybere se pak ta správná.

tedy
http://ds.mysteria.cz/ct01.php?ur=2

a

<?php
if(empty($_GET)){
echo "Chybi parametr s cislem radku";
}else{
$ukaz=$_GET['ur'];
$obsah=file_get_contents("http://109.80.22.31/xml.xml");
$nalezeno=true;
$i=0;
$data=array();
$trans = array("</" => "|</");
while ($nalezeno) {
$h1="<s0_$i>";$h2="</s0_$i>";
$pos1 = strpos($obsah, $h1);
if ($pos1 === false) {
$nalezeno=false;
}else{
$pos2 = strpos($obsah, $h2);
if ($pos2 === false) {
$nalezeno=false;
}else{
$posx=$pos1+strlen($h1);
$radek=substr($obsah,$posx,$pos2-$posx);
$radek= strip_tags(strtr($radek, $trans));
$radek= substr($radek,0,strlen($radek)-1);
$pr=array();
$pr = explode("|", $radek);
$data[]= $pr[11];
}
}
$i++;
}
if (array_key_exists($ukaz, $data)) {
echo $data[$ukaz];
}
}
?>


Druhá cesta je pak z načteného řádku přečíst přímo požadovaou hodnotu tak, že se v textovém řezězci, který vznikne po načtení řádku vyhledá poloha textů <act> a </act> a přečte se to mezi nimi.
Pak se musí ze skriptu odstranit řádky
$trans = array("</" => "|</");
a
$radek= strip_tags(strtr($radek, $trans));
a místo použití explode dopsat podmíky s funkcí strpos()
to je přesně ono.
stale to pise, že chybi parametr s cislem radku.
zadavam jej asi nekam jinam.
A kam jej zadáváš, smím-li se zeptat?
Mě tohle:
http://ds.mysteria.cz/ct01.php?ur=2
funguje. Parametr je to ur (ur je ukaž řádek)
Je to tam proto, že zadání bylo:

"Abych si mohl navolit který řádek chci zobrazit?"

Což mi přijde jako zbytečnost. I vzhledem k tomu jak vypadá stránka
http://hrdlickovi.wz.cz/aktualni_spotreba.html
$ukaz=$_GET['ur'];

ur změním za číslo řádku. třeba 2

a nic
Tak to udělej takto:

$ukaz=2;