Topic: nelygybes zenklai (kampiniai skliaustai) per echo

sveiki,

susiduriau su problema.. noriu palengvinti sau gyvenima ir pasidaryti auto xml builderi..
taciau iskilau su problema xml sintakseje.. ten apsiraso viskas su <> skliausteliais, o php echo ju nemoka :(

cai xml pavyzdys :
   

<pradzia id="0" tipas="Urg" description="Super fintas">
 <uzkrauti pirminis="0000"/>

man reikia tiesiog pasikeisti tuos skaiciukus ir pavadinimus, as su php pavaryciau juos per cikliuka ir viskas,
taciau nemoku i echo ivesti tu < skliaustu..
bandziau per kintamaji paduoti, bandziau su &lt &gt perdaryti, bet spausdina taip &ltpradzia .... fintas"> (gt siuo atveju puikiai suveikia)
esme tame, kad tarp < ir zodzio negali buti tarpo :(

su kabutemis irgi atskira beda, bet ten jau issiaiskinau..

kas susiduret, ar norit pasidalinti ziniomis, prasau pagelbekit! :)
aciu

Re: nelygybes zenklai (kampiniai skliaustai) per echo

Tai parodyk, kaip tu spausdini (echo) tą tekstą, nes nelabai suprantu, kaip čia kokia problema gali būt.

Re: nelygybes zenklai (kampiniai skliaustai) per echo

siaip xml'as neturetu buti formuojamas su echo .... siam reikalui yra tinkamu biblioteku, tad jei nori padaryti gerai, tada naudokis jomis

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: nelygybes zenklai (kampiniai skliaustai) per echo

for($i=$di_pirmasis;$i<=($di_kiekis + $di_pirmasis); $i++) {
    echo  "<discrete-channel id=\"" .$i ."\" datatype=\"BIT\"> <br>";
                    }

toks yra mano variantas, kuris nevejkia.. per $wtf = '<device..>'; echo $wrf; irgi neveikia..

o man reiketu gauti kazka panasaus, tik skaiciai dideja:

<discrete-channel id="0" datatype="BIT" description="va">
 <read-input address="0000"/>
 <alarm-state address="2000" scada-flag-mask="16" alarm-state-mask="8" alarm-negative-mask="4" alarm-pozitive-mask="2" alarm-detect-flag-mask="1"/>
 <alarm-flag address="2000" yes-value="16" no-value="0" alarm-detect-flag-mask="1"/>
</discrete-channel>
<discrete-channel id="1" datatype="BIT" description="">
 <read-input address="0001"/>
 <alarm-state address="2001" scada-flag-mask="16" alarm-state-mask="8" alarm-negative-mask="4" alarm-pozitive-mask="2" alarm-detect-flag-mask="1"/>
 <alarm-flag address="2001" yes-value="16" no-value="0" alarm-detect-flag-mask="1"/>
</discrete-channel>

o ddel biblioteku,tai pirma karta girdziu.. :) galite apsviesti?

Re: nelygybes zenklai (kampiniai skliaustai) per echo

O koks klaidos pranešimas?

Re: nelygybes zenklai (kampiniai skliaustai) per echo

minde wrote:

O koks klaidos pranešimas?

em, negaudziau klaidu, nes tiesiog nieko nespausdina.. :(

Re: nelygybes zenklai (kampiniai skliaustai) per echo

Tai iš ko sprendi, kad neveikia echo funkcija? (-; Problemos vadinasi kažkur kitur.

Re: nelygybes zenklai (kampiniai skliaustai) per echo

minde wrote:

Tai iš ko sprendi, kad neveikia echo funkcija? (-; Problemos vadinasi kažkur kitur.

as galvoju problema yra tame, kad HTML bando pagauti kas yra <discrete ir jisai nesupranta.. :(
jeigu parasai tarpa priekyje, viskas akej, spausdina < discrete, taciau man reikia be tarpo :(

as turejau omenyje, kad echo veikia ne taip kaip reikia :( ir nzn del ko :( testuoju per FF naujausia

Re: nelygybes zenklai (kampiniai skliaustai) per echo

O prie ko čia HTML ir XML'as?

Norint matyti XML'ą jis turi būti parašytas pagal standartus, su antrašte ir pan. ir atitinkamai kažkas turi mokėti jį interpretuoti. Atsidaryk normalų XML failą su FF ir matysi, kaip jis aptinkamas ir kaip atvaizduojamas. Kitais atvejais daryk "View Source" ir žiūrėk, ką iš triko grąžino PHP scriptas.

Re: nelygybes zenklai (kampiniai skliaustai) per echo

<discrete-channel id="45" datatype="BIT" <br><discrete-channel id="46" datatype="BIT" <br><discrete-channel id="47" datatype="BIT"

tu buvai teisus.. radau as viska view source perziurejes :)
dabar yra klausimas kaip pateikti si varianta? gal i koki faila bandyti krauti viska? tada gal susirasytu viskas nea?

Re: nelygybes zenklai (kampiniai skliaustai) per echo

Tai ką tu čia pateikei tai iki XML'o dar toli, nebent tai yra XML'o dalis, kuri kažkur iterpiama.

O ką tu iš tikro nori pasiekti/padaryti, aš nežinau, todėl sunku ką ir patart.

Re: nelygybes zenklai (kampiniai skliaustai) per echo

minde wrote:

Tai ką tu čia pateikei tai iki XML'o dar toli, nebent tai yra XML'o dalis, kuri kažkur iterpiama.

O ką tu iš tikro nori pasiekti/padaryti, aš nežinau, todėl sunku ką ir patart.

minde, taip, tai yra dalis.. cia reikia adresus pasikeisti pagal aprasyma. kai tokiu fintu yra simtai, tai rankutem keisti adresiukus nesamone..
va tai nusprendziau pasiilginti sau gyvenima :)
bandysiu siandien vakare i faila persipumpinti :) tik nzn kaip gausis, ne karto nebandes :)

Re: nelygybes zenklai (kampiniai skliaustai) per echo

xml'e neteko matyti <br> :)

o pats visada naudoju http://lt2.php.net/manual/en/book.dom.php
suformuoji kaip tik nori ir veliau tik kyst: http://lt2.php.net/manual/en/domdocument.savexml.php
ir puikuis nuostabus ibei techniskai tvarkingas xmlas kaip ant rankos.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: nelygybes zenklai (kampiniai skliaustai) per echo

zygis, seip ten buvo view source istrauka :) br norejau kad browseris nukirptu eilute :P ir matyti tik originalu texta, kuri nukopinus butu xml'as :)

anyway, tu=riu kita beda.. :(


Pasirinktas tipas: Hregister

* * * * * * *
Fatal error: Maximum execution time of 30 seconds exceeded in /usr/home/users/xxxxxxx/DI.php on line 35


if ($parinktas == "hregister") {
                        echo 'Pasirinktas tipas: Hregister <br><br>';      
                        $i=$di_pirmasis;
                        $n=0;
                        $s=0;
                            while($i<=($di_kiekis + $di_pirmasis)) {   
                             
                                while (($n < 16) && ($s <= ($di_kiekis-1)) ){    // <- cia yra 35 eilute :(
                                $Data="
<discrete-channel=\"". $i ."\"\>
<read-hregister address=\"" . $di_pirmas_adresas . "\" bit-offset=\"" . $n . "\" bit-count=\"1\"/>
 <alarm-state address=\"" . $di_alarm_s . "\"/>
 <alarm-flag address=\""  . $di_alarm_f .   "\"/>
 </discrete-channel>";
 $i++; $n++; $s++; $di_alarm_s++; $di_alarm_f++;
  print " * ";
fwrite($Handle, $Data);
}
$di_pirmas_adresas++;
    }
}

outputas i faila gaunasi geras, bet va i puslapi grazina ta errora :(

Re: nelygybes zenklai (kampiniai skliaustai) per echo

google.com

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: nelygybes zenklai (kampiniai skliaustai) per echo

zygis wrote:

google.com

aciu, tu tobulas :)

Re: nelygybes zenklai (kampiniai skliaustai) per echo

kazi ar bent ieskojai pries cia rasydamas?


http://us.php.net/manual/en/function.set-time-limit.php

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: nelygybes zenklai (kampiniai skliaustai) per echo

zygis wrote:

kazi ar bent ieskojai pries cia rasydamas?


http://us.php.net/manual/en/function.set-time-limit.php

esme yra ne laike, o kazkur blogai kazkas.. :( nes ten nera ka veikti per tuos 30 irasu.. :( gal uzhsicashino mano wamp'as? nors serve irgi tas pac :(

Re: nelygybes zenklai (kampiniai skliaustai) per echo

Tikriausiai yra amžinas ciklas. Bet be viso reikalingo kodo tam išsiaiškinti niekas nieko negalės pasakyt.

20 (edited by majklas 2009-08-27 14:19:28)

Re: nelygybes zenklai (kampiniai skliaustai) per echo

minde wrote:

Tikriausiai yra amžinas ciklas. Bet be viso reikalingo kodo tam išsiaiškinti niekas nieko negalės pasakyt.

taip, as ta ir padariau.. :( tik dbr jau su  {  } kariauju, tai vieno tai kito truksta.. :( zodziu prisiviriau dabar koses, siandien neisbrisiu :D

gal kokia minti kas turit kaip uzsukti cikliuka, kuris skaiciuotu iki 16, tada pakeistu viena irasa ir vel skaiciuotu iki 16, kol nevirsija uzduotos ribos?
tarkim gauni 25,
tai butu n=1, n=2, 3,4 ...  14, n=15, n=16.
tada pasikeicia reiksme kakzokia i vienu didesne ir vel sukasi n=1, n=2.. n=8, n=9..
cia kaip Hex'o konverteris, tik biski kitaip :( niekaip nesauna i galva

turiu cia toki pradini pasirases, bet lb jau minkstas..

for($i=$di_pirmasis;$i<=($di_kiekis + $di_pirmasis -1); $i++) {
 if ($di_kiekis<16){
   while (($n < 16) && ($s < ($di_kiekis)) ){
     echo $n . " n<br>";
    $Data="
<discrete-channel=\"". $i ."\" datatype=\"BIT\" description=\"\">
<read-hregister address=\"" . $di_pirmas_adresas . "\" bit-offset=\"" . $n . "\" />
 <alarm-state address=\"" . $di_alarm_s . "\" />
 <alarm-flag address=\""  . $di_alarm_f .   "\"/>
 </discrete-channel>";
 $n++;
 $s++;
 $i++;
 $di_alarm_s++;
 $di_alarm_f++;
  print " *< 16 <br>";
                                      
fwrite($Handle, $Data);
                            }    //}                            
$di_pirmas_adresas++; }
                                else { }

cia as su ifu ir paklydau.. :(