Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

script curs valutar de la BNR

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

#19
el_bandito

el_bandito

    Active Member

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

 Berti, 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!
nu ai pt ce  :D

#20
someone

someone

    Member

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

 Berti, on Dec 19 2007, 15:25, said:

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()
<?
function data()
{
	$xmlstr=file_get_contents("http://www.bnro.ro/nbrfxrates.xml");

$xml = new SimpleXMLElement($xmlstr);

return $xml->Body[0]->Cube["date"];
	
	}
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'.data().'</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>
:D

#21
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006

 gumball3000, on Nov 3 2006, 15:35, said:

Foloseste codul de mai jos daca vrei ceva mai simplu:
$today = date("d-m-Y");

Gumball3000, scriptul tau afisa data, dar pe cea curenta, eu ziceam de data din fisierul XML, lucru destul de important mai ales in zilele de luni, cand se schimba cursul pe la ora 12!


Someone, exact despre asta vorbeam!  :worthy:  Din pucntul meu de vedere, acum scriptul e perfect! Multumesc tuturor!

#22
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006
Va mai bat la cap cu o problema, desi asta-i mai delicata... totusi poate aveti rabdare si aruncati o privire. Multam!

Sriptu asta vreau sa-l implementez intr-un forum IPB, ma exact in header-ul lui. Am introdus codul dat de voi, in codul fiserului global_board_header, dar cand vreau sa-l salvez imi returneaza urmatoarea eroare:

These template bits could not be saved because they cause an error when parsed. Please check the data including any HTML logic used and any input data variables.

Continutul fiserului e asta:

[b] Aici am inserat cele doua functii data() si curs() [/b] 
<!--ipb.javascript.start-->
<script type="text/javascript">
 //<![CDATA[
 var ipb_var_st			= "{$this->ipsclass->input['st']}";
 var ipb_lang_tpl_q1	   = "{$this->ipsclass->lang['tpl_q1']}";
 var ipb_var_s			 = "{$this->ipsclass->session_id}";
 var ipb_var_phpext		= "{$this->ipsclass->vars['php_ext']}";
 var ipb_var_base_url	  = "{$this->ipsclass->js_base_url}";
 var ipb_var_image_url	 = "{$this->ipsclass->vars['img_url']}";
 var ipb_input_f		   = "{$this->ipsclass->input['f']}";
 var ipb_input_t		   = "{$this->ipsclass->input['t']}";
 var ipb_input_p		   = "{$this->ipsclass->input['p']}";
 var ipb_var_cookieid	  = "{$this->ipsclass->vars['cookie_id']}";
 var ipb_var_cookie_domain = "{$this->ipsclass->vars['cookie_domain']}";
 var ipb_var_cookie_path   = "{$this->ipsclass->vars['cookie_path']}";
 var ipb_md5_check		 = "{$this->ipsclass->md5_check}";
 var ipb_new_msgs		  = {$this->ipsclass->member['new_msg']};
 var use_enhanced_js	   = {$this->ipsclass->can_use_fancy_js};
 var use_charset		   = "{$this->ipsclass->vars['gb_char_set']}";
 var ipb_myass_chars_lang  = "{$this->ipsclass->lang['myass_chars']}";
 var ajax_load_msg		   = "{$this->ipsclass->lang['ajax_loading_msg_new']}";
 //]]>
</script>
<script type="text/javascript" src='jscripts/ips_ipsclass.js'></script>
<script type="text/javascript" src='jscripts/ipb_global.js'></script>
<script type="text/javascript" src='jscripts/ips_menu.js'></script>
<script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/ips_menu_html.js'></script>
<script type="text/javascript" src='cache/lang_cache/{$this->ipsclass->lang_id}/lang_javascript.js'></script>
<script type="text/javascript">
//<![CDATA[
var ipsclass = new ipsclass();
ipsclass.init();
ipsclass.settings['do_linked_resize'] = parseInt( "{$this->ipsclass->vars['resize_linked_img']}" );
ipsclass.settings['resize_percent']   = parseInt( "{$this->ipsclass->vars['resize_img_percent']}" );
//]]>
</script>
<!--ipb.javascript.end-->
<div class="borderwrap">
	<div id="logostrip"><a href='{$this->ipsclass->base_url}'><!--ipb.logo.start--><img src='style_images/2_BannerIL.gif' alt='IPB' style='vertical-align:top' border='0' /><!--ipb.logo.end--></a></div>
	<div id="submenu">
		<!--ipb.leftlinks.start-->
		<if="$this->ipsclass->vars['home_url']">
			<div class='ipb-top-left-link'><a href="{$this->ipsclass->vars['home_url']}">{$this->ipsclass->vars['home_name']}</a></div>
		</if>
		<if="$this->ipsclass->vars['csite_on']">
			<div class='ipb-top-left-link'><a href="{$this->ipsclass->base_url}act=home">{$this->ipsclass->vars['csite_title']}</a></div>
		</if>		
		<!--IBF.RULES-->
<div class='ipb-top-left-link'>
[b] Aici am afisat cursul valutar [/b]
</div>
				<!--ipb.leftlinks.end-->
		<!--ipb.rightlinks.start-->
				<div class='ipb-top-right-link'><a href="http://mail.inginer-il.ro" target=_blank>Mail</a></div>
		<div class='ipb-top-right-link'><a href="{$this->ipsclass->base_url}act=Help">{$this->ipsclass->lang['tb_help']}</a></div>
		<div class='ipb-top-right-link' id="ipb-tl-search"><a href="{$this->ipsclass->base_url}act=Search&f={$this->ipsclass->input['f']}">{$this->ipsclass->lang['tb_search']}</a></div>
		<div class='ipb-top-right-link'><a href="{$this->ipsclass->base_url}act=Members">{$this->ipsclass->lang['tb_mlist']}</a></div>
		<div class='ipb-top-right-link'><a href="{$this->ipsclass->base_url}act=calendar">{$this->ipsclass->lang['tb_calendar']}</a></div>
		<if="$component_links != """>
			{$component_links}
		</if>
		<div class='popupmenu-new' id='ipb-tl-search_menu' style='display:none;width:210px'>
			<form action="{$this->ipsclass->base_url}act=Search&CODE=01" method="post">
				<input type='hidden' name='forums' id='gbl-search-forums' value='all' /> 
				<input type="text" size="20" name="keywords" id='ipb-tl-search-box' />
				<input class="button" type="image" style='border:0px' src="{$this->ipsclass->vars['img_url']}/login-button.gif" />
				<if="($this->ipsclass->input['act'] == 'sf' OR $this->ipsclass->input['act'] == 'st') AND $this->ipsclass->input['f']">
					<br /><input type='checkbox' id='gbl-search-checkbox' value='1' onclick='gbl_check_search_box()' checked='checked' /> {$this->ipsclass->lang['gbl_forum_search']}
				</if>
			</form>
			<div style='padding:4px'>
				<a href='{$this->ipsclass->base_url}act=Search'>{$this->ipsclass->lang['gbl_more_search']}</a>
			</div>
		</div>
		<script type="text/javascript">
			ipsmenu.register( "ipb-tl-search", 'document.getElementById("ipb-tl-search-box").focus();' );
			gbl_check_search_box();
		</script>
		<!--ipb.rightlinks.end-->
	</div>
</div>
<if="$this->ipsclass->can_use_fancy_js != 0">
<script type="text/javascript" src='jscripts/ips_xmlhttprequest.js'></script>
<script type="text/javascript" src='jscripts/ipb_global_xmlenhanced.js'></script>
<script type="text/javascript" src='jscripts/dom-drag.js'></script>
<div id='get-myassistant' style='display:none;width:400px;text-align:left;'>
<div class="borderwrap">
 <div class='maintitle' id='myass-drag' title='{$this->ipsclass->lang['myass_drag']}'>
  <div style='float:right'><a href='#' onclick='document.getElementById("get-myassistant").style.display="none"'>[X]</a></div>
  <div>{$this->ipsclass->lang['myass_title']}</div>
 </div>
 <div id='myass-content' style='overflow-x:auto;'></div>
 </div>
</div>
<!-- Loading Layer -->
<div id='loading-layer' style='display:none'>
	<div id='loading-layer-shadow'>
	   <div id='loading-layer-inner'>
	 	<img src='style_images/<#IMG_DIR#>/loading_anim.gif' border='0' alt='{$this->ipsclass->lang['ajax_loading_msg']}' />
		<span style='font-weight:bold' id='loading-layer-text'>{$this->ipsclass->lang['ajax_loading_msg']}</span>
		</div>
	</div>
</div>
<!-- / Loading Layer -->
<!-- Msg Layer -->
<div id='ipd-msg-wrapper'>
	<div id='ipd-msg-title'>
		<a href='#' onclick='document.getElementById("ipd-msg-wrapper").style.display="none"; return false;'><img src='style_images/<#IMG_DIR#>/close.png' alt='X' title='Close Window' class='ipd' /></a>   <strong>{$this->ipsclass->lang['gbl_sitemsg_header']}</strong>
	</div>
	<div id='ipd-msg-inner'><span style='font-weight:bold' id='ipd-msg-text'></span><div class='pp-tiny-text'>{$this->ipsclass->lang['gbl_auto_close']}</div></div>
</div>
<!-- Msg Layer -->


Scriptul adaugat la inceput de mine e:

<?php
function data()
{
	$xmlstr=file_get_contents('http://www.bnro.ro/nbrfxrates.xml');

$xml = new SimpleXMLElement($xmlstr);

return $xml->Body[0]->Cube['date'];
	
	}
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;
}
?>


Si afisarea cursului am facut-o prin inserarea urmatorul cod...

<?php
echo 'Cursul <b>BNR</b> din data de '.data().', 1euro = <b>'.curs(EUR).'</b> lei, 1 usd = <b>'.curs(USD).'</b> lei';
?>


#23
someone

someone

    Member

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

 Berti, on Dec 19 2007, 19:48, said:

<?php
echo 'Cursul <b>BNR</b> din data de '.data().', 1euro = <b>'.curs(EUR).'</b> lei, 1 usd = <b>'.curs(USD).'</b> lei';
?>
argumentul din functia curs trebuie sa fie intre ghilimele :P
<?php
echo 'Cursul <b>BNR</b> din data de '.data().', 1euro = <b>'.curs("EUR").'</b> lei, 1 usd = <b>'.curs("USD").'</b> lei';
?>

Edited by someone, 20 December 2007 - 09:53.


#24
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006
Someone, multam pentru raspuns, am sa incerc si asta putin mai tarziu, dar totusi tind sa cred ca-i alta problema la mijloc fiindca scriptu' functioneaza foarte bine si fara ghilimele intr-un fisier dedicat doar lui, vezi aici.
In shimb daca-l adaug in global_header imi da eroare de mai sus... parca im returna eroarea doar cu functiile, fara sa mai trec si afisarea lor.

S-ar putea cumva apela fisieru asta bnr3.php din celalat fisier (global_header)? Astfel incat functiile sa ramana in bnr3.php, iar in global_header sa fie doar cateva linii de cod?

#25
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006
Am mai studiat putin si am gasit functia include().
In loc sa pun tot codu in Global_header, am scris doar atat, acum pot sa-l salvez, adica nu-mi mai returneaza eroarea de mai sus, da tot nu-mi afiseaza ce trebuie.

<?php
include("bnr.php"); 
echo 'Cursul <b>BNR</b> din data de '.data().', 1euro = <b>'.curs("EUR").'</b> lei, 1 usd = <b>'.curs("USD").'</b> lei';
?>

Atasez si un screenshot, cu ce imi apare... are cineva vreo idee care poate fi problema?

Attached Files



#26
gumball3000

gumball3000

    ...

  • Grup: Senior Members
  • Posts: 49,649
  • Înscris: 24.09.2006
cititi putin si aici, pt ca am impresia ca ne stoarcem degeaba creierii: http://forum.softped...p;#entry3812850

#27
someone

someone

    Member

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

 gumball3000, on Dec 20 2007, 14:54, said:

cititi putin si aici, pt ca am impresia ca ne stoarcem degeaba creierii: http://forum.softped...p;#entry3812850
niet, eu din fisierul xml am extras cursul asa ca nimeni nu isi stoarce degeaba creierul :P

P.S. vad deja s-a scos un script php pentru citirea din xml dar e cu bani http://www.digiest.c...alutar-bnr2.php  :lol:

#28
Berti

Berti

    233SP09

  • Grup: Senior Members
  • Posts: 3,068
  • Înscris: 02.03.2006

 gumball3000, on Dec 20 2007, 14:54, said:

cititi putin si aici, pt ca am impresia ca ne stoarcem degeaba creierii: http://forum.softped...p;#entry3812850

Pai XML-ul ramane valabil... asa ca ultimul script postat care preia si data e perfect functional.

Vad ca si-a revenit forumului ipsbeyond, voi pune acolo intrebarea referitoare la problemele din IPB

#29
Jimie

Jimie

    Member

  • Grup: Members
  • Posts: 527
  • Înscris: 13.04.2005
Ar fi frumos unul care sa arate in dreptul fiecaruia daca valoarea lui a scazut... a crescut sau a ramas aceasi... si sa arate printr-o imagine..

#30
stocarul

stocarul

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 06.05.2007

 someone, on Dec 18 2007, 14:37, said:

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
Nu stiti cand se actualizeaza la BNR?
Ca sa stiu cand fac script-ul sa reia datele de la BNR :)
Mult`am

#31
DarkAngelBv

DarkAngelBv

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

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
In fiecare zi la 00:01 :) mai putin luni din cate am inteles. (totusi eu am un script care se updateaza la prima accesare dupa 00:00 in fiecare zi, si pana acum in ~5 luni nu a dat nici un rateu :P )

#32
stocarul

stocarul

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 06.05.2007

 darkangelbv, on Jan 21 2008, 05:53, said:

In fiecare zi la 00:01 :) mai putin luni din cate am inteles. (totusi eu am un script care se updateaza la prima accesare dupa 00:00 in fiecare zi, si pana acum in ~5 luni nu a dat nici un rateu :P )
Asa m-am gandit sa-l fac si eu...
Prima accesare in ziua respectiva, verifica daca e actualizat la bnr, si daca da o salvez in baza de date...
Ma gandi dupa ce am pus post-ul  :D
Apropo...Tu nu dormi?? :P

#33
DarkAngelBv

DarkAngelBv

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

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

 stocarul, on Jan 21 2008, 06:04, said:

Apropo...Tu nu dormi?? :P
nu :) m-am chinuit sa adorm de la 00:30 pana la 02:45 :P
Acum mai e o ora si trebuie sa plec :D

#34
stocarul

stocarul

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 06.05.2007

 darkangelbv, on Jan 21 2008, 06:10, said:

nu :) m-am chinuit sa adorm de la 00:30 pana la 02:45 :P
Acum mai e o ora si trebuie sa plec :D
Nasol...si la mine cam la fel...nu reusi sa adorm...Si peste o ora trebuie sa plec si eu...la scoala :coolspeak:  :thumbdown:  :puke:
aaa...Multumesc pentru raspunsuri...m-ai ajutat foarte mult pana acum  :peacefingers:

#35
spatciuk

spatciuk

    New Member

  • Grup: Members
  • Posts: 3
  • Înscris: 10.03.2008
ma poate ajuta si pe mine cineva cu un script foarte simplu va rog? sunt incepator in php si mysql si nu prea ma descurc.

as avea nevoie de un script php care sa preia DOAR cursul euro dintr-un feed xml si sa il introduca intr-o baza de date mysql zilnic.

xml este acesta: https://secure.epaym...xchange-xml.php

in mysql sa se salveze cursurile pe zile.

tabelul de mysql trebuie sa aiba doar 2 valori: "data" si "valoarea euro la acea data".

si apoi eu sa fac query in baza de date pentru curs pentru o anumita data....

va multumesc.

Edited by spatciuk, 10 March 2008 - 23:34.


#36
someone

someone

    Member

  • Grup: Members
  • Posts: 457
  • Înscris: 06.02.2004
din pacate nu merge functia
echo file_get_contents("https://secure.epayment.ro/content/exchange-xml.php");
nu da eroare dar nici nu imi afiseaza nimic, probabil ca din cauza protocolului https...

Edited by someone, 11 March 2008 - 10:13.


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