Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare bec far VW Touran 1T3

Plata impozit PF

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024
 Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica
 Ce componenta e asta si ce ziceti...

Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila
 Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...

Jante noi shitbox

Trinitas TV 4K
 

script curs valutar de la BNR

- - - - -
  • Please log in to reply
40 replies to this topic

#1
bellairplace

bellairplace

    Member

  • Grup: Members
  • Posts: 526
  • Înscris: 03.08.2006
Salut

Am in constructie un portal si vreau sa bag intr-o sectiune un script care sa imi afiseze cursul valutar. Insa vreau ca scriptul acesta sa fie " conectat" - ca sa zic asa, direct la sursa, eventual la BNR.

La fel ca la bursa de valori, pe tv.

Cine imi da o mana de ajutor? Ce solutii am?

Multumesc.

#2
alin179

alin179

    Member

  • Grup: Members
  • Posts: 899
  • Înscris: 23.02.2005
asta nu e bun?

#3
bellairplace

bellairplace

    Member

  • Grup: Members
  • Posts: 526
  • Înscris: 03.08.2006

View Postalin179, on Nov 2 2006, 11:57, said:

asta nu e bun?

Mersi mult. Am sa vad cum funtioneaza cand urc sit-ul pe domeniu. Daca e ceva, revin.

#4
gumball3000

gumball3000

    ...

  • Grup: Senior Members
  • Posts: 49,649
  • Înscris: 24.09.2006
Foloseste codul de mai jos daca vrei ceva mai simplu:
<?php
// asta e pentru stilul de afisare bold sau normal...
echo '<style 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>'; 
// aici se incearca deschiderea fisierului de la bnr
$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");
// se baga in array numele valutelor pentru afisare ulterioara 
$numeValuta = array("Dolar SUA","Euro","Gram Au","Dobinda luna curenta"); 
// se genereaza capul de tabel cu data de azi
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">'; 
// se cauta cursul in fisierul preluat de la bnr
while (!feof($file)) 
	{ 
	$line = fgets($file, 1024); 
	// se executa cautarea in fisier
	if (eregi('<TD class="bold">(.*)</TD>', $line, $out))	 
		{ 
		$cursvalutar = each ($out); 
		// se afiseaza ce sa gasit in fisier
		while (list($key,$val)=each($numeValuta)) 
			{			
			if ($val == "Euro") 
				{			   
				$euroi=$cursvalutar[1]; 
				} 
			if ($val == "Dolar SUA") 
				{			   
				$dolarel=$cursvalutar[1]; 
				} 
			if ($val == "Gram Au") 
				{				 
				$auri=$cursvalutar[1];
				}
			if ($val == "Dobinda luna curenta")
				{	   
				$dobanzi=$cursvalutar[1]; 
				}
			// dupa preluare se intrerupe bucla
			break;
			}
		}
	}
// se inchide fisierul deschis si tagurile html
fclose($file); 
// se afiseaza cursul
echo "<tr><td>USD</td>".$euroi.
	"<td>LEI</td></tr>"; 
echo "<tr><td>Euro</td>".$dolarel.
	"<td>LEI</td></tr>";
echo "<tr><td>Gram Aur</td>".$auri.
	"<td>LEI</td></tr>";
echo "<tr><td>Dobanda</td>".$dobanzi.
	"<td>%</td></tr>";
echo '</table></td></tr></table>'; 
?>


#5
bellairplace

bellairplace

    Member

  • Grup: Members
  • Posts: 526
  • Înscris: 03.08.2006
qumball, excelent !  ;)

Edited by bellairplace, 18 December 2007 - 10:44.


#6
Jimie

Jimie

    Member

  • Grup: Members
  • Posts: 527
  • Înscris: 13.04.2005
As fi si eu interesat de unul care foloseste mysql..

#7
again

again

    WEB DUDE

  • Grup: Senior Members
  • Posts: 7,068
  • Înscris: 21.10.2005
pai tot de undeva de pe bnr trebuie sa ia valorile si ala cu mysql

#8
Jimie

Jimie

    Member

  • Grup: Members
  • Posts: 527
  • Înscris: 13.04.2005
bine inteles... stii cumva unul si care sa si mearga ? am mai gasit pe aici pe forum unul... da nu merge... cel putin mie nu-mi merge

#9
someone

someone

    Member

  • Grup: Members
  • Posts: 457
  • Înscris: 06.02.2004
cei de la bnr au si in format xml http://www.bnr.ro/Ro...4webmasters.asp din care puteti lua cu usurinta toate valutele :D
function curs($tip)
{
	$xmlstr=file_get_contents("http://www.bnro.ro/nbrfxrates.xml");

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->Body[0]->Cube[0]->Rate as $rate) {
	switch((string) $rate['currency']) { 
	case 'USD':
		 $usd=$rate;
		break;
	case 'EUR':
		$eur=$rate;
		break;
	case 'GBP':
		$gbp=$rate;
		break;
	case 'CHF':
		$chf=$rate;
		break;
	}
}
if($tip=='EUR')
{return $eur;}
if($tip=='USD')
{return $usd;}
if($tip=='CHF')
{return $chf;}
if($tip=='GBP')
{return $gbp;}
}
in functie puteti adauga sau sterge valute...
si o varianta mai profi :P

function curs($tip)
{
	$xmlstr=file_get_contents("http://www.bnro.ro/nbrfxrates.xml");

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->Body[0]->Cube[0]->Rate as $rate) {
	switch((string) $rate['currency']) { 
	case $tip:
		 $curs=$rate;
		break;
	}
}
return $curs;
}
cred ca e cea mai simpla metoda de a citi dintr-un fisier xml :P

restul e istorie :D

Edited by someone, 18 December 2007 - 14:49.


#10
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Asta nu e bun? [ http://darkangelbvdesign.com/webmaster/utilitare/curs_valutar/curs_valutar.gif - Pentru incarcare in pagina (embed) Click aici ] :)

#11
Jimie

Jimie

    Member

  • Grup: Members
  • Posts: 527
  • Înscris: 13.04.2005

View Postdarkangelbv, on Dec 18 2007, 18:03, said:

Asta nu e bun? [ http://darkangelbvdesign.com/webmaster/utilitare/curs_valutar/curs_valutar.gif - Pentru incarcare in pagina (embed) Click aici ] :)

Cu reclame am tot gasit...  plus de`asta... cei care dau scriptul.. ia de la bnr de pe pagina.. eu iau de la ei.. si astfel as ingreuna pagina..

#12
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006

View PostJimie, on Dec 18 2007, 18:30, said:

Cu reclame am tot gasit...  plus de`asta... cei care dau scriptul.. ia de la bnr de pe pagina.. eu iau de la ei.. si astfel as ingreuna pagina..
de cache ai auzit? :) cursul se ia de la bnr, o data pe zi, apoi este generata imaginea pentru ziua respectiva, deci in loc de 3 conexiuni catre bnr se face doar 1.

#13
el_bandito

el_bandito

    Active Member

  • Grup: Members
  • Posts: 1,123
  • Înscris: 07.07.2006

View Postbellairplace, on Dec 18 2007, 10:42, said:

qumball, excelent !  ;)
de asta ce zici??? un pic modificat dar poate ii merge omului asta

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<? 
// asta e pentru stilul de afisare bold sau normal...
echo '<style 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>'; 
// aici se incearca deschiderea fisierului de la bnr
$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");
// se baga in array numele valutelor pentru afisare ulterioara 
$numeValuta = array("USD","EUR","Gram Aur","Dobanda luna curenta"); 
echo '<table border="0" cellspacing="0" cellpadding="0" class="normal">'; 
echo '<tr><td  bgcolor="#2C1F50" height="20"><div align="center"><font color="#ffffff"><strong>Curs valutar</strong> 
	<strong>'.$today.'</strong><br> 
	</div></td></tr>'; 
echo '<tr><td align="left" valign="top"> 
	<table border="1" cellspacing="0" cellpadding="3" class="normal">'; 
while (!feof($file)) 
	{ 
	$line = fgets($file, 1024); 
	// se executa cautarea in fisier
	if (eregi('<TD class="bold">(.*)</TD>', $line, $out))	 
		{ 
		$cursvalutar = each ($out); 
		// se afiseaza ce sa gasit in fisier
		while (list($key,$val)=each($numeValuta)) 
			{		   
			if ($val == "Dobanda luna curenta") 
				{ 
				$moneda = "%"; 
				}
			else
				{
				$moneda = "Lei"; 
				}
			if ($val == "EUR") 
				{ 
				echo "<tr><td>".$val."</td>".$cursvalutar[1].
					"<td>".$moneda."</td></tr>";			 
				$EURi=$cursvalutar[1]; 
				} 
			if ($val == "USD") 
				{ 
				echo "<tr><td>".$val."</td>".$cursvalutar[1].
					"<td>".$moneda."</td></tr>"; 
				$dolarel=$cursvalutar[1]; 
				} 
			if ($val == "Gram Aur") 
				{ 
				echo "<tr><td>".$val."</td>".$cursvalutar[1].
					"<td>".$moneda."</td></tr>";
				$auri=$cursvalutar[1]; 
				}
			if ($val == "Dobanda luna curenta")
				{ 
				echo "<tr><td>".$val."</td>".$cursvalutar[1].
					"<td>".$moneda."</td></tr>"; 
				$dobanzi=$cursvalutar[1]; 
				}
			// dupa afisare se intrerupe bucla
			break;
			}
		}
	}
// se inchide fisierul deschis si tagurile html
fclose($file); 
echo '</table></td></tr></table>'; 
?>

</body>
</html>


#14
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006
el-bandito: NICE !!!  :thumbup: Multam omule, mere brici...

Vin cu mila ca-s neconeseur in domeniu, crezi ca se poate modifica codul astfel incat sa preia valorile din fisierul XML de care zicea Someone!

#15
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Se poate ;)

#16
someone

someone

    Member

  • Grup: Members
  • Posts: 457
  • Înscris: 06.02.2004

View PostBerti, on Dec 19 2007, 13:01, said:

el-bandito: NICE !!!  :thumbup: Multam omule, mere brici...

Vin cu mila ca-s neconeseur in domeniu, crezi ca se poate modifica codul astfel incat sa preia valorile din fisierul XML de care zicea Someone!
yup
and here is the code
<?
function curs($tip)
{
	$xmlstr=file_get_contents("http://www.bnro.ro/nbrfxrates.xml");

$xml = new SimpleXMLElement($xmlstr);

foreach ($xml->Body[0]->Cube[0]->Rate as $rate) {
	switch((string) $rate['currency']) {
	case $tip:
		 $curs=$rate;
		break;
	}
}
return $curs;
}?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
echo '<style 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>';

$today = date("d-m-Y");
echo '<table border="1" cellspacing="0" cellpadding="0" class="normal">';
echo '<tr><td colspan="3" bgcolor="#2C1F50" height="20"><font color="#ffffff"><strong>Curs valutar'.$today.'</strong></td></tr>';
//aici se introduc valutele dorite
$monezi=array("EUR","USD","NOK","PLN");

for($i=0;$i<count($monezi);$i++)
{
 echo "<tr><td>".$monezi[$i]."</td><td class='bold'>".curs($monezi[$i])."</td><td>lei</td></tr>";
}
echo '</table>';
?>
</body>
</html>
trebuie doar ca in vectorul $monezi sa introduci denumirile asa cum sunt in fisierul xml currency="***"

#17
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006
Super! Multam mult someone...

L.e. Va mai deranjez cu o intrebare, incerc sa inteleg functia curs()

daca de exemplu vreau sa afisez doar valoarea in lei a cursului euro, ce scriu dupa curs(?
am incercat curs(eur), curs($eur) curs(1)... da nu merge!

L.e.2. Gata... m-am lamurit, se tine cont de UpperCase.

L.e.3. Si inca o chestie... nu cred ca-i corecta solutia cu afisarea datei sistemului, ar fi bine daca s-ar prelua data tot din acel fisier XML, fiindca sambata, duminica cursul ramane cel de vineri, si luni pana la o anumita ora.
Oare sunt nesimtit daca cer si un script de preluare a datei, ceva de genu datacurs()

Edited by Berti, 19 December 2007 - 15:51.


#18
gumball3000

gumball3000

    ...

  • Grup: Senior Members
  • Posts: 49,649
  • Înscris: 24.09.2006
din cate stiu eu scriptul postat de mine afisa si data

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate