Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 8.779 pregleda

Najnovija ↓

Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 15:54 · pre 105 meseci #1
Namera mi je da na sajtu imam trenutne cene popularnih derivata, medju kojima je i bitkoin, zlato, nafta, srebro, valutni par eur/usd i slično..

Sa kog sajta izvršiti uvoz? Bilo bi dobro da je to javascript da bi cene bile trenutne, ali moze i php. Na primer na sajtu bitcoin nasao sam widgete, ali sadrže domen i slično, ja bih to maksimalno pojednostavio.
Re: Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 17:26 · pre 105 meseci #2
Pronadji sajtove koji imaju API.
Za kriptovalute je verovatno najbolji coinmarketcap, njihov api:
https://coinmarketcap.com/api/

Ako hoces samo ajax-om, onda moras da koristis JSONP.
A mozes ajax-om da zoves neku php skriptu na svom serveru i cURL-om da pokupis podatke i vratis,
a javascriptom da update-ujes rezultat.
Ceo interfejs aplikacije je verovatno najbolje uraditi react.js-om.
Re: Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 18:33 · pre 105 meseci #3
Uradio sam u php, ali bolje bi bilo javascript, jel može pomoć, evo ga php:

Code (php):

<?php

$url = 'https://bitpay.com/api/rates';

$json = json_decode(file_get_contents($url));

foreach( $json as $obj ){
   
    if($obj->code == 'USD') { // vrednost bitkoina u dolarima
     
     $usd = $obj->rate;
    }
    if($obj->code == 'EUR') { // vrednost bitkoina u evrima
     
     $euro = $obj->rate;
    }
    if($obj->code == 'RSD') { // vrednost bitkoina u dinarima
     
     $btc = $obj->rate;
    }
    if($obj->code == 'XAU') { // vrednost bitkoina u zlatu

     $gold = $obj->rate;
    }
}

?>
 
Re: Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 19:37 · pre 105 meseci #4
Možeš da probaš i https://www.alphavantage.co/, daju potpuno free real-time API za cene sa stock marketa (tu imaš cene nafte, zlata, itd...) kao i za kriptovalute
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 19:50 · pre 105 meseci #5
Uradio sam ovako:

javascript:

Code:


var myVar = setInterval(myTimer, 1000);

function myTimer() {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    var myArr = JSON.parse(this.responseText);
                    document.getElementById("demo").innerHTML = myArr[1]['rate'];
                }
            };
            xmlhttp.open("GET", "https://bitpay.com/api/rates", true);
            xmlhttp.send();
        }



radi, samo treba da podesim niz u funkciji. E sad me muči drugo, trebam da sačuvam prethodnu vrednost i uporedim sa trenutnom, da znam da li ide zelena ili crvena strelica..

A i ovaj kod mozda ima neke mane.
Re: Kako i odakle uvoziti cene popularnih derivata? 28.02.2018. u 22:22 · pre 105 meseci #6
Mozes da cuvas vrednosti, a mozes i da izvuces staru pa da uporedis:
Code:

if (this.readyState == 4 && this.status == 200) {    
    var el = document.getElementById("demo");
    var myArr = JSON.parse(this.responseText);
    var newPrice = myArr[1]['rate'];
                    
    if(parseFloat(el.innerHTML) == parseFloat(newPrice))    {
        return false;
    }
    else if(parseFloat(el.innerHTML) < parseFloat(newPrice))    {
        el.classList.add("green");  // ako je stara cena manja od nove
    }
    else if(parseFloat(el.innerHTML) > parseFloat(newPrice))    {
        el.classList.add("red");  // ako je stara cena veca od nove
    }
    el.innerHTML = newPrice;
}

Problem je sto taj ajax call tesko da ce da radi na svim browserima.
Najbolje koristi jQuery (imas getJSON()) i ne moras da razmisljas o tim stvarima.


Re: Kako i odakle uvoziti cene popularnih derivata? 01.03.2018. u 14:53 · pre 105 meseci #10
Prvo, ako radiš preko JS-a - imaš kategoriju foruma za JS pa možeš tamo da otvoriš temu za svoj problem.

Drugo, ako misliš da ti neko pomogne zato što ne uspevaš - okači kôd ovde pa da vidimo šta si do sad uradio i gde je zapelo.

I nemoj da ga kačiš kao ZIP već samo najbitnije delove koda ubaci u [code] tagove
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Kako i odakle uvoziti cene popularnih derivata? 01.03.2018. u 15:52 · pre 105 meseci #11
Code (php):

<?php

function Values() {
     
     $url = 'https://bitpay.com/api/rates';

     $json = json_decode(file_get_contents($url));

     foreach ($json as $obj) {
         
         if ($obj->code == 'USD') {
         
          $usd = $obj->rate;
         }
         if ($obj->code == 'EUR') {
         
          $eur = $obj->rate;
         }
         if ($obj->code == 'RSD') {
         
          $rsd = $obj->rate;
         }
         if ($obj->code == 'XAU') {

          $xau = $obj->rate;
         }
     }

     $usd = round($usd, 2);
     $eur = round($eur, 2);
     $rsd = round($rsd, 2);
     $xau = round($xau * 31.1034768, 2);

     $v['usd'] = $usd . ' dolara';
     $v['eur'] = $eur . ' evra';
     $v['rsd'] = $rsd . ' dinara';
     $v['xau'] = $xau  . ' grama zlata';

     return $v;
}

?>
 


Code:

<script>

        function Values() {
            
            var usd = "<?php echo Values()['usd']; ?>";
            var eur = "<?php echo Values()['eur']; ?>";
            var rsd = "<?php echo Values()['rsd']; ?>";
            var xau = "<?php echo Values()['xau']; ?>";

            document.getElementById("usd").innerHTML = usd;
            document.getElementById("eur").innerHTML = eur;
            document.getElementById("rsd").innerHTML = rsd;
            document.getElementById("xau").innerHTML = xau;
        }
</script>


HTML:
Code:

<button onclick="Values();"></button>


Pozivanje funkcije probao sam i sa mouseover i onload, radi samo prvi put, posle ne radi.
Hvala puno, unapred. Ima i php koda zato sam ovde postavio pitanje.
Re: Kako i odakle uvoziti cene popularnih derivata? 01.03.2018. u 19:58 · pre 105 meseci #13
Imaš samo vrijednosti koje su dobijene inicijalno.
Da bi upravlj'o novim vrijednostima, moraš da koristiš AJAX koji će pribaviti nove vrijednosti.
A ako ne želiš da koristiš blagodeti jQuery-ja, tu je XMLHttpRequest ili ovde.

Edit: @Deunan brži
Potpis
-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme