Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Infiltratii casa noua

sugestie usa interior

ANAF si plata la selfpay

Imprimanta ciss rezista perioade ...
 Garmin fēnix 7 / PRO / Saphi...

Care sunt cele mai mari regrete a...

Alfa Romeo Stelvio 2.2 jtd

Intrebari srl nou
 La multi ani @AndReW99!

Alegere masina £15000 uk

TVR vrea sa lanseze o platforma d...

Strategie investie pe termen lung...
 Modulator FM ptr auto alimentat p...

orange cablu f.o. - internet fara...

Robinet care comuta traseul

A fost lansata Fedora 40
 

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

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

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