 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| 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 |
|
| |
|