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 | 715 (552) | Stari89 |
» | [php] Knjiga gostovOddelek: Izdelava spletišč | 3212 (2415) | darix |
» | PHP login skriptOddelek: Izdelava spletišč | 2858 (1444) | Lion29 |
» | [SQL in PHP] Preprost PHP koledarček, ki je povezan z MySQL bazoOddelek: Programiranje | 1981 (1743) | R33D3M33R |
» | [php, mysql] sortiranje izpisa iz bazeOddelek: Izdelava spletišč | 2740 (2259) | Binji |