Ako zapisovať údaje z javascriptu do databázy ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako zapisovať údaje z javascriptu do databázy ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.comAko zapisovať údaje z javascriptu do databázy ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Mishsuli0
Newbie
5. 9. 2012   #1
-
0
-

Dobrý deň viete mi niekto poradiť ako spraviť zapisovanie výsledku zo scriptu do databázy ??? mám script ktorý má fungovať ako produkcia surovín pre browser hru,,, ale neviem spojazdniť to zapisovanie do databázy,,, 

Nahlásit jako SPAM
IP: 94.229.32.–
kavva+4
Návštěvník
5. 9. 2012   #2
-
+1
-
Zajímavé

Ahoj.

V prvom rade JS nie je serverovy jazyk, takze do db a nim priamo nezapises. Ale AJAXom mozes posuvat data cez nejaky serverovy script (php, python, etc.)

Davnejsie som nasiel nieco taketo > http://syntensity.com/static/sql.html

Skus to pozriet, mozno ti to pomoze.. Nerobil som s tym, takze ti neviem povedat. 

Nahlásit jako SPAM
IP: 195.212.29.–
Mishsuli0
Newbie
5. 9. 2012   #3
-
0
-

#2 kavva
no viem že to musím hodiť do php ,,,, čítal som že cez http request ale nie úplne to chápem ako to funguje :/ .... 

Nahlásit jako SPAM
IP: 94.229.32.–
KIIV
~ Moderátor
+43
God of flame
5. 9. 2012   #4
-
+2
-
Zajímavé

funguje to snadno: jscript vygeneruje request bud GET nebo POST a posle se to na server.. server to zpracovava jako libovolny jiny request a maximalne posle nazpet misto html stranky nejaky info o stavu nebo podobne..

vygeneruje se to samozrejme v ramci stranky.. (nikam se neprechazi)  - klasicky reseni bylo pomoci formulare, ktery proste odeslal data a zmenila se tim vlastne stranka

Nahlásit jako SPAM
IP: 91.127.107.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mishsuli0
Newbie
6. 9. 2012   #5
-
0
-

a ako to ma vyzerat v tom javascripte ??? 

Nahlásit jako SPAM
IP: 94.229.32.–
Mishsuli0
Newbie
6. 9. 2012   #6
-
0
-

urobil som funkciu ktora ma produkovat suroviny,,, funguje ale to zapisovanie do db raz nechapem ...  kam mam dat http request ??? 

<script>
	var aktualnaHodnota = 0;
	var produkuje = 900;
function test ( val ) 
{ return val > 9 ? val : "0" + val; }
setInterval( function(){
    document.getElementById("suroviny").innerHTML=test(++aktualnaHodnota);
	}, 60 * 60 * 1000 / produkuje);
</script>  
Nahlásit jako SPAM
IP: 94.229.32.–
KIIV
~ Moderátor
+43
God of flame
6. 9. 2012   #7
-
0
-

zalezi jestli chces zkusit napriklad v jquery (pojem: ajax) nebo ciste javascript (neco jako XMLHttpRequest objekt)

kazdopadne oboje se da najit na google..

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mishsuli0
Newbie
6. 9. 2012   #8
-
0
-

#7 KIIV
a v ajaxe je to vyhodnejsie ako v js ??? 

Nahlásit jako SPAM
IP: 94.229.32.–
Mishsuli0
Newbie
6. 9. 2012   #9
-
0
-

tak pozeram si http://pc.poradna.net/a/view/307893-ajax-xmlhttprequest ,,, ale nechapem tomu ... :/ keby to bol daky jednoduchy priklad .... ale hento je podla mna tazko pochopitelne :/ 

Nahlásit jako SPAM
IP: 94.229.32.–
CZechBoY+4
Věrný člen
6. 9. 2012   #10
-
+1
-
Zajímavé

#9 Mishsuli
ajax = asynchronní požadavek od klienta => javascript

koukni na jQuery, tam to jde udělat veeelmi jednoduše např. přes $('#idecko').load('zapis_za_usi.php')

Nahlásit jako SPAM
IP: 213.192.10.–
Mishsuli0
Newbie
8. 9. 2012   #11
-
0
-

#10 CZechBoY
no ten AJAX je zaujimavy ale stale mi to nejde :D 

produkcia.js 


  function getXMLHttp()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

	var aktualnaHodnota = 0;
	var produkuje = 900;
function test ( val ) 
{ return val > 9 ? val : "0" + val; }
setInterval( function(){
    var vysledok = document.getElementById("suroviny").innerHTML=test(++aktualnaHodnota);
	}, 60 * 60 * 1000 / produkuje);

function MakeRequest()
{
  var xmlHttp = getXMLHttp();
  
  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState == 4)
    {
       vysledok
    }
  }

  xmlHttp.open("GET", "test.php", true); 
  xmlHttp.send();
}

 test.php

<?php
require_once('produkcia.js');
$suroviny = $_GET["suroviny"];
echo "Produkcia: $suroviny";
?>

mohol by si mi vysvetlit co tam robim zle ??? 

Nahlásit jako SPAM
IP: 94.229.32.–
Nefaritus
~ Redaktor
+2
Posthunter
9. 9. 2012   #12
-
+1
-
Zajímavé

Takže v test.php máš úplně zbytečně toto:

require_once('produkcia.js');

Pak uvnitř toho ifu, kde kontroluješ, jestli je readyState == 4 máš proměnnou, ale tam má být to, co se má stát, až se požadavek na server úspěšně provede, tedy nějaké hlášení například.

A nakonec do toho PHP skriptu nepředáváš žádnou hodnotu, takže to musí být nějak takto:

xmlHttp.open("GET", "test.php?suroviny="+vysledok, true);
 
Nahlásit jako SPAM
IP: 109.238.43.–
Mishsuli0
Newbie
9. 9. 2012   #13
-
0
-

#12 Nefaritus
No už som to ako tak pochopil ale ešte stále to nejde ... 

 produkcia.js

  function getXMLHttp()
{
  var xmlHttp

  try
  {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    //Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

	var aktualnaHodnota = 0;
	var produkuje = 900;
function test ( val ) 
{ return val > 9 ? val : "0" + val; }
setInterval( function(){
    var vysledok = document.getElementById("suroviny").innerHTML=test(++aktualnaHodnota);
	}, 60 * 60 * 1000 / produkuje);

function MakeRequest()
{
  var xmlHttp = getXMLHttp();
  
  xmlHttp.onreadystatechange = function()
  {
    if((xmlHttp.readyState == 4) && (xmlhttp.status == 200))
    {
       document.getElementById("hlaska").innerHTML = "Uspesne nacitane";
    }
    else{
      document.getElementById("hlaska").innerHTML = "LOADING";
    }   
  };

  xmlHttp.open("GET", "test.php?suroviny="+vysledok, true); 
  xmlHttp.send();
}

test.php

<?php
$suroviny = $_GET["suroviny"];
echo "Produkcia:".$suroviny;?>
Nahlásit jako SPAM
IP: 94.229.32.–
CZechBoY+4
Věrný člen
10. 9. 2012   #14
-
0
-

#13 Mishsuli
hoď sem HTML, v tom jQuery to máš na pár řádků a nemusíš obstarávat takový věci, co udělá jQuery za tebe :)

já to v raw JS taky nepochopil, já radši použiju jQuery na tohle :)

Nahlásit jako SPAM
IP: 213.192.10.–
Nefaritus
~ Redaktor
+2
Posthunter
11. 9. 2012   #15
-
0
-

#13 Mishsuli
A kde voláš tu funkci MakeRequest()?

 
Nahlásit jako SPAM
IP: 109.238.43.–
Mishsuli0
Newbie
11. 9. 2012   #16
-
0
-

jááj tak to mám zapísať ešte aj do html ???? takže potrebujem 3 súbory ,,,, .js, .php, .html,,, ??? 

Nahlásit jako SPAM
IP: 94.229.32.–
Nefaritus
~ Redaktor
+2
Posthunter
11. 9. 2012   #17
-
+1
-
Zajímavé

#16 Mishsuli
No někde tu funkci musíš přece použít ;)

 
Nahlásit jako SPAM
IP: 109.238.43.–
Mishsuli0
Newbie
12. 9. 2012   #18
-
0
-

aha ... :) no mňa to už tak doplietlo,,, že som na to aj zabudol :D

Nahlásit jako SPAM
IP: 94.229.32.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý