Forum » Programiranje » PHP in JS problem :(
PHP in JS problem :(
zalla ::
Mi lahko kdo prosim pomaga s spodnjo kodo. Hvala
include './baza.php'; $sql = "SELECT naslov, opis FROM dogodki WHERE datumKonca >= curdate() ORDER BY datumZacetka;"; $rezultat = mysql_query( $sql ); $stDogodkov = mysql_num_rows( $rezultat ); if( $stDogodkov == 0 ) { echo "<p style='color:white; text-align:left; padding-left:30px'>Dogodki so v pripravi!</p> "; } else { while($vrstica = mysql_fetch_array( $rezultat, MYSQL_ASSOC)) { $naslov = nl2br(stripslashes( htmlentities( $vrstica['naslov'], ENT_QUOTES, 'UTF-8' ) )) ; $opis = nl2br(stripslashes( htmlentities( $vrstica['opis'], ENT_QUOTES, 'UTF-8' ) )) ; } //kako bi tu naprej sestavla in poslala na spletno stran javascript ki bi menjaval iz baze pobrane naslove in opise //torej da se vsakih 5 sec zamenja naslov in pripadajoč opis //ta php bi includala v nek div na strani da bi se izpisovalo v njem }
overlord_tm ::
Rabis naredit funkcijo, ki te podatke spravi v neko obliko (XML, Json) in jih vrne.
Potem pa s pomocjo AJAXa naredis javascript, ki periodicno klice to funkcijo (ubistvu dela HTTP requeste), in azurira vsebino div-a.
Poglej si recimo xajax.
Pod live examples poglej "multiply" primer. Ti rabis samo namesto pritiska na OK prozit stvar z nekim timerjem.
Potem pa s pomocjo AJAXa naredis javascript, ki periodicno klice to funkcijo (ubistvu dela HTTP requeste), in azurira vsebino div-a.
Poglej si recimo xajax.
Pod live examples poglej "multiply" primer. Ti rabis samo namesto pritiska na OK prozit stvar z nekim timerjem.
zalla ::
Najprej hvala za odgovor :) Drugače sem čista začetnica in XML, Json in ajax še ne poznam ravno.
Moja koda je za enkrat taka:
Ali se na tak način to ne da?
Problem je tu, da ne vem, kje bi poklicala funkcijo display()...
Moja koda je za enkrat taka:
include './baza.php'; $sql = "SELECT naslov, opis FROM dogodki WHERE datumKonca >= curdate() ORDER BY datumZacetka;"; $rezultat = mysql_query( $sql ); $stDogodkov = mysql_num_rows( $rezultat ); if( $stDogodkov == 0 ) { echo "<p style='color:white; text-align:left; padding-left:30px'>Dogodki so v pripravi!</p> "; } else { echo "<script type='text/javascript'>"; echo "var quotations = new Array()"; $i = 0; $vrstica = mysql_fetch_array( $rezultat, MYSQL_ASSOC); $naslov = nl2br(stripslashes( htmlentities( $vrstica['naslov'], ENT_QUOTES, 'UTF-8' ) )) ; $opis = nl2br(stripslashes( htmlentities( $vrstica['opis'], ENT_QUOTES, 'UTF-8' ) )) ; while( $i < $stDogodkov ) { echo "quotations[$i]=\"" . $naslov . "\";"; //"<br />" . '"' . $opis . ";" ; $i++; } echo "function display()"; echo "{"; echo "a=Math.floor(Math.random()*quotations.length)"; echo "document.getElementById('quotation').innerHTML=quotations[a]"; echo "setTimeout("display()",4000)"; echo "}" echo "</script>"; }
Ali se na tak način to ne da?
Problem je tu, da ne vem, kje bi poklicala funkcijo display()...
zalla ::
Samo, če sam v značko body onload, more biti javascript definiran v head znački, kar pa v tem primeru, ko imam php, kakor vem, ne gre. :(
oz med značkama head in /head ne more bit php kode
oz med značkama head in /head ne more bit php kode
Zgodovina sprememb…
- spremenila: zalla ()
PrimozBo ::
Tudi mene zanimam kako je s tem da bi v php-ju kar echal JS kodo tam kjer bi rad nekaj dinamičnega. Ne gre za velke skripte ampak samo po nekaj vrstic. Se to lahko tko dela ?
techfreak :) ::
Tudi mene zanimam kako je s tem da bi v php-ju kar echal JS kodo tam kjer bi rad nekaj dinamičnega. Ne gre za velke skripte ampak samo po nekaj vrstic. Se to lahko tko dela ?
Zakaj pa ne? Saj to je verjetno ena izmed večjih slabostih PHPja, da nima že po defaultu template engine-a in lahko brez težav pišeš karkoli želiš.
<script type="text/javascript"> <?php if($a == $b) { echo "var x = 'd'; alert(x);"; }else{ echo "var x = 'hhh'; } ?> </script>
EnSmotko ::
PHP nima default template engina, ker je že sam template engin, zgornji primer se namreč da lepše napisat tkole:
<script type="text/javascript"> <?php if($a == $b): ?> var x = 'd'; alert(x); <?php else: ?> var x = 'hhh' } <?php endif; ?> </script>
l0g1t3ch ::
Tudi mene nekaj muči
če dam v html tole, stvar deluje
če pa isto v html izpišem z php-jem pa NE dela
Če grem gledat source strani je JS v prvem primeru takle
v drugem primeru pa takle
Tako da težave povzroči značka
Kdorkoli, karkoli ?
če dam v html tole, stvar deluje
var niz = "foo <br /> bar"; alert(niz);
če pa isto v html izpišem z php-jem pa NE dela
$niz = "foo <br /> bar"; echo 'var niz = "' . $niz .'";'; alert(niz);
Če grem gledat source strani je JS v prvem primeru takle
var niz = "foo <br /> bar"; alert(niz);
v drugem primeru pa takle
var niz = "foo <br /> bar"; alert(niz);
Tako da težave povzroči značka
<br />samo nevem zakaj jo v prvem primeru ne upošteva in ne naredi preloma v drugem pa ga.
Kdorkoli, karkoli ?
Zgodovina sprememb…
- spremenilo: l0g1t3ch ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Rabim pomoč pri PHP-ju.Oddelek: Šola | 691 (528) | Stari89 |
» | [php] Knjiga gostovOddelek: Izdelava spletišč | 3172 (2375) | darix |
» | PHP login skriptOddelek: Izdelava spletišč | 2824 (1410) | Lion29 |
» | [SQL in PHP] Preprost PHP koledarček, ki je povezan z MySQL bazoOddelek: Programiranje | 1933 (1695) | R33D3M33R |
» | [php, mysql] sortiranje izpisa iz bazeOddelek: Izdelava spletišč | 2695 (2214) | Binji |