Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:30.6.2013 20:44

Ahoj
Už asi dvě hodiny googlím nějakou rozumnou metodu jak z PHP do JS a zpět posílat pole polí

Abych popsal problém:
Mám zatím aplikaci jen v JS, a používá se v ní pole ( dejme tomu že vypadá nějak takto "data[x][y]")a já potřebuju to pole při spuštění javascriptu naplnit hodnotami z databáze, a potom cca každou minutu ukládat do DB změny které v tom poli nastanou.

Z PHP do JS by šlo teoreticky pole naplnit přes echo, ale při velikosti toho pole by to bylo dost hrozné a stejně by to nevyřešilo odesílání dat zpět na server.

Byl bych vděčný za nějaký konkrétní příklad jak na to.
Díky

Odpovědět
30.6.2013 20:44
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jenkings
Kit:30.6.2013 20:56

Podle mne nejlepší možností je ošetřit každé políčko AJAXem. Změny pak nemusíš ukládat po minutě, ale můžeš ihned.

Z PHP do JS to jde pole poslat nejlépe přes json_encode(). JS to umí nativně číst. Nemusíš posílat všechna políčka, stačí jen změněná.

Někde v HTML5 by měl být popis, jak se s takovým formulářem dá pracovat i během výpadků spojení. Využívá se lokální databáze prohlížeče.

Editováno 30.6.2013 20:59
Nahoru Odpovědět
30.6.2013 20:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jenkings
Kit:30.6.2013 21:09

Mrkni se na tohle. Vypadá to, že je tam řešeno přesně to co hledáš:

http://stackoverflow.com/…h-a-server-2

Nahoru Odpovědět
30.6.2013 21:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jenkings
Tvůrce
Avatar
Odpovídá na Kit
Jenkings:30.6.2013 21:15

Díky ;) ale je to docela oříšek, vypadá to že u toho ještě nějakej ten čas strávím než se mi podaří dosáhnout toho co přesně potřebuju ;) ale rozhodně jsi mně posunul dál ;)

Nahoru Odpovědět
30.6.2013 21:15
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
David Hynek
Tvůrce
Avatar
Odpovídá na Jenkings
David Hynek:30.6.2013 23:53

nezaručuji, že má rada bude platná i pro tebe, ale já tuhle řešil spolupráci mezi PHP a Javascriptem. Také to bylo o datech v polích. A vyřešil jsem to funkcí v PHP JSON

z JS do PHP

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json, true));

a z PHP do JS

$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
Nahoru Odpovědět
30.6.2013 23:53
Čím víc vím, tím víc věcí nevím.
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:1.7.2013 10:54

tak z PHP do JS už mi to funguje, ale pořád mi nějak nejde do hlavy jak je to z JS do PHP...

Nahoru Odpovědět
1.7.2013 10:54
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:1.7.2013 12:18

Tak už se mi to nějak podařilo sesmolit ;)

Díky za pomoc ;)

Nahoru Odpovědět
1.7.2013 12:18
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
vojta3310
Člen
Avatar
vojta3310:11.7.2013 11:34

Ahoj,
chtěl bych se zeptat, jak při přenosu jedné promněné z PHP do Javascriptu pomoci echo a document.crea­teElement('scrip­t') naplním promněnou v JS hodnotou elementu.
Předem dekuju.

 
Nahoru Odpovědět
11.7.2013 11:34
Avatar
Kit
Tvůrce
Avatar
Odpovídá na vojta3310
Kit:11.7.2013 11:49

Použij JSON.

Nahoru Odpovědět
11.7.2013 11:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hynek
Tvůrce
Avatar
David Hynek:11.7.2013 11:54

prostě

<?php

$neco = "Severni pol je dobit!"; //hodnota v PHP

echo "<script language='javascript'>
   var neco = '{$neco}';
   window.onload=function(){alert(neco)};
</script>";

?>
Nahoru Odpovědět
11.7.2013 11:54
Čím víc vím, tím víc věcí nevím.
Avatar
vojta3310
Člen
Avatar
vojta3310:11.7.2013 12:42

Já mam na mysli přenos dat při reakci na stisk tlačítka.
Zatim kód vypada takto:

<script type="text/javascript">
var check =function () {
    var jmeno = $("#nick").val();
    var checker = document.createElement('script');
    checker.src  = 'http://iqcraft.net76.net/nick.php';
    //zde nemůžu přít na to jak získat hodnotu z elementu "checker"



    return false;
};
$("#dalsi").click(check);
</script>
Editováno 11.7.2013 12:44
 
Nahoru Odpovědět
11.7.2013 12:42
Avatar
Kit
Tvůrce
Avatar
Odpovídá na vojta3310
Kit:11.7.2013 12:47

AJAXem.

Nahoru Odpovědět
11.7.2013 12:47
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hynek
Tvůrce
Avatar
Odpovídá na vojta3310
David Hynek:11.7.2013 13:07

Severní pól je dobyt, jak mě správně upozornil KIT :)

Nahoru Odpovědět
11.7.2013 13:07
Čím víc vím, tím víc věcí nevím.
Avatar
vojta3310
Člen
Avatar
vojta3310:11.7.2013 13:12

No netuším co je AJAX ale děkuji.

 
Nahoru Odpovědět
11.7.2013 13:12
Avatar
Kit
Tvůrce
Avatar
Nahoru Odpovědět
11.7.2013 13:16
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
vojta3310
Člen
Avatar
vojta3310:11.7.2013 13:39

jojo na tom pracuju

 
Nahoru Odpovědět
11.7.2013 13:39
Avatar
vojta3310
Člen
Avatar
vojta3310:11.7.2013 13:52

Noc dekuji uz mi to funguje.
ahoj

 
Nahoru Odpovědět
11.7.2013 13:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.