Autor Zpráva
Nuimi
Profil
Potreboval bych aby se mi kazdou urcenou chvili ulozilo neco do databaze.
TOhle me napadlo
var myVar = setInterval(myTimer, 1000);

        function myTimer() 
        {
          <?php
            $uprav=$db->query("UPDATE hra SET score='<script>cislo</script>' WHERE jmeno_u = '".$_SESSION['username']."'");
          ?>
        }

je to blbost, ale mate nekdo jiny napad
Keeehi
Profil
CRON

Ale řekl bych, že ho nepotřebuješ, jen jdeš na problém ze špatné strany. Ty nepotřebuješ každou chvíli něco updatovat. Tobě to přeci určitě stačí vědět v okamžik, kdy o to uživatel znovu požádá. Tedy má-li se třeba určitá hodnota v určitém sloupci každou vteřinu zvětšit o deset, tak to není potřeba dělat stále dokola. Ale až při dalším pozadavku, který přijde od uživatele třeba za 7 vteřin, tak tu hodnotu zvětšit rovnou o 70.
Nuimi
Profil
Jde o to že já to potřebuju ukládat automaticky po určitou dobu, protože by kdykoli mohl nastat okamžik kdy to spadne a navíc uživatel nedělá žádné požadavky, vše se děje tak nějak zvláštně a já nevím kam jinam bych to mohl vložit
Navíc zde je stále ten okamžik kdy musím uložit do databáze hodnotu která je v js a ne v PHP
Keeehi
Profil
Nuimi:
protože by kdykoli mohl nastat okamžik kdy to spadne
To si mám představit jak?

Navíc zde je stále ten okamžik kdy musím uložit do databáze hodnotu která je v js a ne v PHP
Takže jde o nějakou hru, která je vytvořená v javascriptu a uživatel zůstává pořád na jedné stránce. A ty chceš každou vteřinu ukládat jeho skóre. Je to tak?
V tom případě bys měl vědět, že existuje spousta dalších uložišť, možná vhodnějších. Záleží ma situaci.
Nicméně k původnímu problému, hodnotu z JS do PHP dostaneš AJAXem.

Když popíšeš více, o jaký typ hry jde, budeme ti schopní lépe poradit. Jak moc je real-time? Multiplayer? Kdo a kdy má vidět skóre? Je důležité rozesílat ostatním skóre v průběhu hry, nebo je důležité jen to konečné? Dá se hra zastavit? Může se po znovuotevření prohlížeče pokračovat tam kde se skončilo? Jde v té hře o čas?
No prostě čím více o tom napíšeš, tím lépe.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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