Hol a hiba?
<html>
<head>
<script src=" [link]
<script>
$(document).ready(function(){
setInterval(function() {
<?php $someVar = time(); ?>
var javaScriptVar = "<?php echo $someVar; ?>";
document.getElementById("demo").innerHTML = javaScriptVar;
}, 2000);
});
</script>
</head>
<body>
<div id="demo"></div>
</body>
</html>
Az egészet....
Először is értsd meg a szerver és a kliens oldali nyelv működését, majd gondold végig újra és megérted miért nem megy.
(kis iránymutatás a megoldáshoz: XHR)
Tehát ha backendnek akarsz valamit X időközönként átadni akkor ott az ajax-os hívás fogja megoldni. Lehet post vagy get request is, mindegy jelen esetben.... és a választ tudod átadni a div-nek a js-el.
És hogy kérdező értsd, miért nem fut le a vártaknak megfelelően a #1-es hozzászólásban szereplő kódod: amikor megnyitod az oldalt, a PHP-értelmező az alábbihoz hasonló (mivel az idő változik) kódot állítja elő:
ezt az oldalt jeleníti meg a webszerver.
Ennek hatására mi fog belekerülni két másodpercenként a "demo" azonosítójú elembe? Konzekvensen a "1641314470"-ás karakterlánc, hisz a Javascript-kód a kliensoldalt frissíti.
Elég csak maga a phpban, a többi már nagyjából világos. :)
<?php
header("Content-type: application/json");
echo json_encode(
array("servertime" => "Tegyünkideegyadatbázislekérést")
);
?>
Akkor most ez így mért nem működik?
$conn = new mysqli($servername, $username, $password, $dbname);
$result = $conn->query("SELECT * FROM textures Where id = '2' ");
while($row = $result->fetch_assoc()) {
$servertime = $row['text'][1];
echo json_encode($servertime);
}
Json kimenet "b", de ezt mégsem adja át a javascriptnek.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!