Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

extragere curs valutar
Vezi mesajul original
Du-te la pagina 1, 2  Următoare
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
darkwish02



Data înscrierii: 04/Aug/2004
Mesaje: 18
Locație: Craiova

Trimis: Mie Aug 04, 2004 12:27 pm    Titlul subiectului: extragere curs valutar  

Saluti ...

Are cineva vreun script de extragere a cursului valutar de la orice site ...
Eu am unul care extrage de la BNR dar nu imi afiseaza valoarea decat simbolul si numele monedei ..

Daca ma puteti ajuta cu asa ceva v-as fi recunoscator.

Va multumesc
Sus  
johnny



Data înscrierii: 31/Iul/2004
Mesaje: 904
Locație: Bucuresti

Trimis: Mie Aug 04, 2004 12:45 pm    Titlul subiectului:  

am facut un script care extragea cursul valutar din ziua curenta (se folosea de site-ul BRD ro). problema e ca se baza pe un anumit pattern si cand au schimbat designul s-a dus.
Ar fi bine daca site-ul BNR ar pune la dispozitie un link cu o pagina XML care sa poata fi parsata.
Sus  
micael



Data înscrierii: 25/Apr/2004
Mesaje: 290
Locație: Constanta(deocamdata)

Trimis: Mie Aug 04, 2004 8:38 pm    Titlul subiectului: curs valutar  

uite ceva bun (verifica codul si ajusteaza-l pt tine. sint acolo niste gifuri care sint bannere, pe siteul la care lucrez acum, doar ca nu am mai stat sa iti scot DOAR codul):

Cod: <a href="pagina_ta.htm">Home</a><p><img src="images/bb0.gif">
<?
echo '
<link href="style/Moon.css" rel="stylesheet" type="text/css">
<!--
.bold {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 12px;
   font-weight: bold;}
.normal {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 12px;}
-->
</style>';
$file = fopen("http://www.bnro.ro/Ro/Info/", "r");
if (!$file)
   {
    echo "<p>Imposibil sa deschid fisierul pentru citire.";
    exit;
   }
$today = date("d-m-Y");
$numeValuta = array("Dolar SUA","Euro","Gram Au","Dobinda luna curenta");
echo '<table border="0" cellspacing="5" cellpadding="0" class="normal">';
echo '<tr><td><div align="center">Curs valutar <strong>'.$today.'</strong><br>
    (<a href="http://www.bnro.ro/Ro/Info/" target="_blank">sursa BNR</a>):</div></td></tr>';
echo '<tr><td align="center" valign="top">
      <table border="0" cellspacing="5" cellpadding="0" class="normal">';
while (!feof($file))
   {
    $line = fgets($file, 1024);
    if (eregi('<TD class="bold">(.*)</TD>', $line, $out))     
      {
        $cursvalutar = each ($out);
        while (list($key,$val)=each($numeValuta))
         {           
             if ($val == "Dobinda luna curenta")
            {
                 $moneda = "%";
                }
           else
            {
                 $moneda = "Lei";
                }
           if ($val == "Euro")
            {
                  echo "<tr><td>".$val."</td>".$cursvalutar[1]."<td>".$moneda."</td></tr>";             
              $euroi=$cursvalutar[1];
               }
           if ($val == "Dolar SUA")
            {
                echo "<tr><td>".$val."</td>".$cursvalutar[1]."<td>".$moneda."</td></tr>";             
              $dolarel=$cursvalutar[1];
               }
         if ($val == "Gram Au")
            {
                echo "<tr><td>".$val."</td>".$cursvalutar[1]."<td>".$moneda."</td></tr>";             
              $auri=$cursvalutar[1];
               }
         if ($val == "Dobinda luna curenta")
            {
                echo "<tr><td>".$val."</td>".$cursvalutar[1]."<td>".$moneda."</td></tr>";             
              $dobanzi=$cursvalutar[1];
               }
             break;
            }
       }
   }
fclose($file);
echo '</table></td></tr></table>';
?> 
<img src="images/bb2.gif">
Sus  
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Joi Aug 05, 2004 10:08 am    Titlul subiectului: Re: curs valutar  

Daca este Sambata, Duminica sau cursul e deja luat in baza de date... EXIT
Daca ora este pana in 14:15 (intre 14:00 si 14:30 apare noul curs)
GO
Ia pagina BNRO de la www.bnro.ro/Ro/Info/curs_ext.asp
Daca in pagina nu gasesti data de azi EXIT
ALTFEL introduce USD si EURO in baza de date...

Codul mai jos... functioneaza de mai bine de 6 luni fara probleme.
Tabelul MySQL are (data DATE NOT NULL, euro MEDIUMINT NOT NULL DEFAULT '0', usd MEDIUMINT NOT NULL DEFAULT '0').

Mai departe cum afisati informatia din baza de date e treaba voastra...
Astfel este si user friendly... utilizatorii nu sesizeaza intarzierile... doar cei care intra imediat dupa ora 14:15 vor sesiza mici intarzieri NUMAI daca cursul nu a fost inca "tras"...

an style="color: #000000"><?php function tragator_valutar() { $ld = mysql_query("SELECT data FROM curs_valutar ORDER BY data DESC LIMIT 1"); $ld = mysql_fetch_array($ld,MYSQL_NUM);    $ld = $ld[0]; $bnrDest = "http://www.bnro.ro/Ro/Info/curs_ext.asp"; $luni = array(1=> "ian",2=> "feb",3=> "mar",4=> "apr",5=> "mai",6=> "iun",7=> "iul",8=> "aug",9=> "sep",10=> "oct",11=> "nov",12=> "dec"); if(date("w",time())==0 || date("w",time())==6 || (date("Y-m-d",time())==$ld))     {    return 60;    } else     {     if(date("G.i",time())<14.15)         {    return 14.15;    }     else         {         $cursBNR = "";         $streamCursBNR = fopen($bnrDest,"r");         if($streamCursBNR)             {             while(!feof($streamCursBNR))                 {                 $cursBNR .= fread($streamCursBNR,1024);                 }             fclose($streamCursBNR);             }         else              {             return 1941022086;             }         $stringDeMaciuit = "@<TH>".date("j",time()).".+".$luni[date("n",time())].".+".date("Y",time()).".*</TH>@iUs";         if(preg_match($stringDeMaciuit,$cursBNR))             {             preg_match_all("@<tr>(.*)</tr>@iUs",$cursBNR,$tr);             $usd = $tr[1][1];             $euro = $tr[1][2];                          preg_match("@.*<TD *class\=[\"\']?bold[\"\']?>([0-9 ]*)<\/TD>.*@iUs",$usd,$usd);             $usd = preg_replace("@ *@","",$usd[1]);                          preg_match("@.*<TD *class\=[\"\']?bold[\"\']?>([0-9 ]*)<\/TD>.*@iUs",$euro,$euro);             $euro = preg_replace("@[^0-9]*@","",$euro[1]);             $q = "INSERT INTO curs_valutar (data,euro,usd) VALUES(NOW(),'".$euro."','".$usd."')";             mysql_query($q);             if(mysql_affected_rows())                     {    return 1;    }             else    {    return 0;    }             }         else             {    return -1;    }         }     } } 
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2309
Locație: Bucuresti

Trimis: Joi Aug 05, 2004 11:15 am    Titlul subiectului: Cod ptr curs valutar  

Uite aici o alta discutie si un cod simplu de extragere a cursului valutar de pe pagina bnr

http://www.php4.as.ro/forum/viewtopic.php?t=8
Sus  
darkwish02



Data înscrierii: 04/Aug/2004
Mesaje: 18
Locație: Craiova

Trimis: Joi Aug 05, 2004 4:30 pm    Titlul subiectului: Multumesc mult de tot  

Saluti ...
Multam mult pentru informatii ...

Keep on..
Sus  
RaduAlexandru



Data înscrierii: 13/Noi/2004
Mesaje: 4
Locație: Bucuresti

Trimis: Sâm Noi 13, 2004 11:56 pm    Titlul subiectului:  

puteti sa imi spuneti si mie cum se face ca sa extrag toate valutele din http://www.bnro.ro/ro/info/curs_ext.asp si sa afisez un fisier xml fu formatul:

<?xml version="1.0" encoding="iso-8859-1"?>
<curs>
<umon Valuta="Dolar" Valoarea="30.200" UltimaReimprospatire="11.10.2004 00:00:00"></umon>
<umon Valuta="Euro" Valoarea="40.500" UltimaReimprospatire="11.10.2004 00:00:00"></umon>
<umon Valuta="XAU" Valoarea="200.000" UltimaReimprospatire="11.10.2004 00:00:00"></umon>
</curs>

sau cu toate valorile pe mai multe zile! :)
Sus  
arahne



Data înscrierii: 16/Dec/2004
Mesaje: 11
Locație: Bucuresti

Trimis: Joi Dec 16, 2004 11:58 pm    Titlul subiectului:  

Cei care sunt interesati de cursul valutar oficial (BNR) si au idee despre ce inseamna un webservice pot folosi o aplicatie dezvoltata de noi.

Interfata este asigurata printr-un client NUsoap, asa incat daca sunteti interesati dati-mi un mail la robert@arahne.net si va dau o cheie si informatii detaliate legate de acces.

Momentan serviciul este inca in teste, urmeaza sa fie facut public cat de curand.
Sus  
yoyo



Data înscrierii: 17/Ian/2005
Mesaje: 58

Trimis: Sâm Mar 26, 2005 11:59 pm    Titlul subiectului:  

o intrebare de incepator;

vreau sa adun $dolarel + 20 de ex

$a = 20;
$result = $dolarel+$a;
echo $result;

dar $result e 20.... unde gresesc?

daca sterg +$a imi afiseaza corect val $dolarel
Sus  
punctweb



Data înscrierii: 24/Mar/2004
Mesaje: 505

Trimis: Dum Mar 27, 2005 12:15 am    Titlul subiectului:  

inainte sa faci adunarea, fa un echo $dolarel; si vezi ce valaore are inainte de operatie... nu cumva sa nu fie empty...
Sus  
yoyo



Data înscrierii: 17/Ian/2005
Mesaje: 58

Trimis: Dum Mar 27, 2005 12:35 am    Titlul subiectului:  

Citat: daca sterg +$a imi afiseaza corect val $dolarel

$dolarel nu e empty :)
Sus  
punctweb



Data înscrierii: 24/Mar/2004
Mesaje: 505

Trimis: Dum Mar 27, 2005 11:01 am    Titlul subiectului:  

da' ce valoare are dolarelul asta al tau ? :?
Sus  
yoyo



Data înscrierii: 17/Ian/2005
Mesaje: 58

Trimis: Dum Mar 27, 2005 12:46 pm    Titlul subiectului:  

este vorba de $dolarel din scriptul lui micael... (vezi mai sus) :D
Azi $dolarel e 36 502 :lol:
Sus  
punctweb



Data înscrierii: 24/Mar/2004
Mesaje: 505

Trimis: Dum Mar 27, 2005 4:59 pm    Titlul subiectului:  

pai vezi ca valoarea $dolarelul-ului asta al tau are spatii... fa asa:

an style="color: #000000"><?php $a = 20; $result = str_ireplace(" ", "", $dolarel)+$a; echo $result; 
Sus  
whooper



Data înscrierii: 05/Apr/2005
Mesaje: 714
Locație: Toronto ON

Trimis: Mar Apr 05, 2005 9:29 pm    Titlul subiectului:  

huh.. la ce trebuie SOAP, RPC ?


http://bnrfeed.ath.cx/?ROL

http://bnrfeed.ath.cx/?RON

http://bnrfeed.ath.cx/?XML&ROL

http://bnrfeed.ath.cx/?XML&RON
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat Du-te la pagina 1, 2  Următoare
Pagina 1 din 2


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community