Gengi gjaldmiðla
Skrifað af Birkir Rafn Guðjónsson þann 29. mars 2008 - 10:23
2 athugasemdir skrifaðar - toppur / botn
Fjöldi lestra: 1492
Svona nærðu gengi gjaldmiðla (my way) en það er hægt með t.d. XML array clasanum sem Tómas félagi minn gerði hér nokkrum póstum á undan.

En þarna sæki ég gengi beint frá landsbankanum og bý til array eins og ég vill hafa það úr xml skjalinu.

Svo sýni ég nokkrar leiðir sem hægt er að nota það með...
 1 |
 2 |
 3 |
 4 |
 5 |
 6 |
 7 |
 8 |
 9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
<?php
## Eftir Birkir Rafn Guðjónsson
## Skrifað 29. Mars 2008
## Tested on PHP 5.1.2


## Vefsíðan sem geymir upplýsingar um gengi gjaldmiðla (Landsbankinn)
$cont 'http://www.landsbanki.is/Services/XMLGengi.asmx/NyjastaGengi';

## Sækjum efni skráarinnar
$gengi utf8_decode(file_get_contents($cont));

## Fáum inn array fyrir hvern gjaldmiðil fyrir sig
preg_match_all("#<GjaldmidillRow>(.*?)</GjaldmidillRow>#s"$gengi$ut);

## Búum til array fyrir $gengisarray
$gengisarray = array();

## Fyrir XML á hverjum gjaldmiðli skal gera:
foreach($ut[1] as $numer => $upplysingar){

    
## Finna kóða gjaldmiðilsins
    
preg_match('#<Mynt>(.*?)</Mynt>#s',$upplysingar$mynt);
    
$mynt $mynt[1];
    
    
## Finna heiti gjaldmiðilsins
    
preg_match('#<Heiti>(.*?)</Heiti>#s',$upplysingar$heiti);

    
## Finna erlent heiti gjaldmiðilsins
    
preg_match('#<HeitiEN>(.*?)</HeitiEN>#s',$upplysingar$heitiEN);

    
## Finna dagsettningu gengisins
    
preg_match('#<Dagsetning>(.*?)</Dagsetning>#s',$upplysingar$dagsetning);
    
    
## Finna kaup gengisins
    
preg_match('#<Kaup>(.*?)</Kaup>#s',$upplysingar$kaup);
    
    
## Finna sölu gengisins
    
preg_match('#<Sala>(.*?)</Sala>#s',$upplysingar$sala);

    
## Finna smámynd gengisins
    
preg_match('#<IconUrl>(.*?)</IconUrl>#s',$upplysingar$iconurl);
    
    
    
## Búum til array
    
$gengisarray[$mynt] = array($heiti[1],$heitiEN[1],$dagsetning[1],$kaup[1],$sala[1],$iconurl[1]);
}

## Svo getum við gert það sem okkur sýnist með þetta array.
## Hér kemur print_r á arrayinu í <pre>.

echo '<pre>'."\n";
print_r($gengisarray);
echo 
'</pre>'."\n\n<br>\n";


## Búa til select með öllum gengjum
echo '<select name=gjaldmidill>'."\n";
foreach(
$gengisarray as $mynt => $uppl){
    echo 
"<option value=$mynt>$uppl[0]</option>\n";    
}
echo 
'</select>'."\n";


## Búa til select með áhveðnum gengjum
echo '<select name=gjaldmidill>'."\n";
foreach(
$gengisarray as $mynt => $uppl){
     if(
$mynt == 'EUR' || $mynt == 'USD' || $mynt == 'GBP')
    echo 
"<option value=$mynt>$uppl[0]</option>\n";
}
echo 
'</select>'."\n";


## Búa til select með öllum gengjum nema einu
echo '<select name=gjaldmidill>'."\n";
foreach(
$gengisarray as $mynt => $uppl){
     if(
$mynt != 'JPY')
    echo 
"<option value=$mynt>$uppl[0]</option>\n";    
}
echo 
'</select>'."\n\n<br>\n";


## Búa til svona fjármálastöðvar scroll lista yfir gengi gjaldmiðla
echo '<marquee direction=up width="280" scrolldelay="500" height="22">';
foreach(
$gengisarray as $mynt => $uppl){
    echo 
$uppl[0].' er '.$uppl[3].'kr.<br><br>';
}
echo 
'</marquee>'."\n";
?>



31. mars 2008 - 22:37
#1 - Gaui
http://www.gaui.is
Virkilega gagnlegt, flott hjá þér.

2. apríl 2008 - 19:10
#2 - Tómas
http://tomasarnason.com
Geggjað hjá þér Bibbi minn ;P En versti gallinn við þetta scroll hjá þér er að marquee er ekki valid X/HTML. En annars bara flott ;P




Nafn:


Netfang:


Veffang:


Hvað er tólf plús einn?



Skilaboð: