Autor Zpráva
ghulas
Profil
Ahoj, mám php stránku, externí skript na ajax, a stránku s generováním náhodných čísel, chtěl bych, aby se mi ty čísla měnily bez aktualizace. Mám to takhle:
stranka.php
<?
echo '
<script src="script.js"></script>
<script>
kde="rc.php";
kam="vloz";
</script>
<body onload="nacti_hodnotu(kde,kam)">
<div id="vloz">
</div>
<script>
document.write(rc);
</script>';
?>

script.js
function vypis_hodnotu(co,kam){
  document.getElementById(kam).innerHTML=co;
}
function nacti_hodnotu(kde,kam){
  $("#co").load(kde);
  vypis_hodnotu(co,kam);
  setTimeout('nacti_hodnotu(kde,kam)',10);
}

rc.php
<?php
$rc=rand(0,10);
?>


Nevíte, kde mám chybu? Dík
Senky
Profil
nacti_hodnotu('.$kde.');
Spajas scripty s php, to sa nesmie...
ghulas
Profil
a jak to mam udělat... to mam tu hodnotu inicializovat v php?
A to document.write(rc); nevadi?
Nahoře to už je změněný.
Senky
Profil
Vlastne ani nechapem preco to riesis takto, ved presa ak som spravne pochopil tak chcesa by sa ti cisla na stranke rychli striedali. Tak preco nespravit uplne primitivnu funkciu v JavaScripte a nemiesat tam ajax:
function nahodne_cislo(rozsah,kam)
{
x = Math.round(Math.random()*rozsah);
document.getElementById(kam).innerHTML=x;
setTimeout('nahodne cislo(rozsah,kam)',10);
}

Pisal som to z hlavy takze neviem ci to bude fungovat a navyse v setTimeout je 10 hrozne malo, to je iba jedna stotina sekundy, mozno si tam chcel 10 sekund, co je 10000...ono je to totiz v milisekundach...
ghulas
Profil
Mě nejde o náhodný čísla, já si tvořím univerzální funkci, a chtěl bych vědět, proč nefunguje.
Senky
Profil
Mě nejde o náhodný čísla, já si tvořím univerzální funkci, a chtěl bych vědět, proč nefunguje.
Lebo miesas php a JavaScripty dokopy. Ako som povedal, nejde to. Neviem ci sa daju inicializovane premenne v jednom jayku presunut do druheho, ale ked ti na to, zalezi tak dlhe hodiny hladaj po nete, ono to nebude na prvej stranke...
Smajda
Profil
koukám nato, a přemejšlim proč tam máš jednou sKript.js při tom odkazu a u té fce máš sCript.js možná žetoje blbost
ghulas
Profil
koukám nato, a přemejšlim proč tam máš jednou sKript.js při tom odkazu a u té fce máš sCript.js možná žetoje blbost
Dík... ale pořád to nefunguje... asi to bude pravda s těma proměnejma... nevíte někdo, co s tím?
Senky
Profil
Tak to by aj mna zaujimalo ako sa daju preniest premenne.....fuuha, to ked sa da tak to je riadna parada...ale zatial som to nickde nevidel, cize je aj mozne ze nieco tak neexistuje...
Ale tak napriklad nechapem preco
<script>
document.write(rc);
</script>';
nezmenis za
echo $rc;


No a nahodou, len ma napadlo, aj ked ti ide iba o teoriu, preco to nespravit iba takto:

stranka.php
<script>
function nacti_hodnotu(){
  $("#vloz").load(rc.php);
  setTimeout('nacti_hodnotu()',10);
}
</script>
<body onload="nacti_hodnotu()">
<span id="vloz"></span>


rc.php
<?php
$rc=rand(0,10);
?>


Je to predsa jednducsie, a vlastne ked som sa opat pozrel na subor co mas, nechapem doteraz preco tam mas funkciu vypis_hodnotu, ved je tam zbytocne...
ghulas
Profil
Tak to by aj mna zaujimalo ako sa daju preniest premenne.....fuuha, to ked sa da tak to je riadna parada...ale zatial som to nickde nevidel, cize je aj mozne ze nieco tak neexistuje...
Ale tak napriklad nechapem preco
<script>
document.write(rc);
</script>';nezmenis za
echo $rc;

A to se pokaždé to 'echo $rc' změní číslo na obrazovce?

No a nahodou, len ma napadlo, aj ked ti ide iba o teoriu, preco to nespravit iba takto:
stranka.php
<script>
function nacti_hodnotu(){
$("#vloz").load(rc.php);
setTimeout('nacti_hodnotu()',10);
}
</script>
<body onload="nacti_hodnotu()">
<span id="vloz"></span>
rc.php
<?php
$rc=rand(0,10);
?>
Je to predsa jednducsie, a vlastne ked som sa opat pozrel na subor co mas, nechapem doteraz preco tam mas funkciu vypis_hodnotu, ved je tam zbytocne...
Dík, můžu to zkusit.
Senky
Profil
„A to se pokaždé to 'echo $rc' změní číslo na obrazovce?“
No ono nezmeni, ale document.write(rc); tiez nie...

„Dík, můžu to zkusit.“
To by malo tak na 90 percent fungovat...
ghulas
Profil
A jak to mam udělat, aby se to měnilo při běhu programu? To musim dát všechno do tý načítací funkce?
Senky
Profil
Pozri, studoval si vobec ako pouzivat funkciu load v jquery? Proste tam ide o to, ze
$("#vloz").load(rc.php);
vloz je nejaky tag ktory ma id vloz a zase rc.php je subor kroty sa tam nacita. Ked z toho spravis funkciu a este tam pridas
setTimeout('nazov_funkcie()',1000);
, tak sa ti to bude neustale nanovo nacitavat dookola a dookola, stale najnovsia verzia rc.php, ktora je samozrejme ze stale ina kedze je tam random. Cize ked pod vetou „A jak to mam udělat, aby se to měnilo při běhu programu?“ myslis A ako to mam spravit aby sa to menilo aj pocas uz nacitanej stranky, tak vyssie mas odpoved. Ono sa to bude menit kazdych....no tu je to 1 sekunda, ale ty si to nastavis ako chces...dufam ze chapes...
ghulas
Profil
Hele, teď mě napadlo, nejde to s těma proměnnýma udělat takhle:
<?
$promena='neco';
echo '
<script>
x='.$promena.'
</script>';
?>
Dá se to pak použít v tý načítací stránce?
A to vypisování pokaždé nového čísla to udělam tou funkcí vypis_hodnotu, nebo to jde udělat i jinak?
Senky
Profil
Nie nie nie nie nie, zase miesas php a JS...to proste nejde, ked uz tak, tak to bude vyzerat takto:
<?
$promena='neco';
echo '
<script>
x = "<? echo $promena; ?>"
</script>';
?> 
ghulas
Profil
Dík, a to vypis_hodnotu mám dobře?
ghulas
Profil
<span id="vloz"></span>
To se bude aktualizovat samo?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0