Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobieranie kursów walut - problem
lordwader
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.11.2010

Ostrzeżenie: (0%)
-----


Witam

O to kod (zaczerpnięty z jakiejś strony - początkowo nie działał bo wywalało błędy.. pozmieniałem trochę.. uruchamia się lecz nie wyświetla walut)

CODE
<?php


// plik z kursami walut w wersji HTML
$nbpHtmlFile = "http://nbp.pl/kursy/kursyc.html";

// pobieramy aktualny kurs walut
function getFromNbp()
{
$this->nbpContent = strip_tags ($this->nbpHtmlFile );
preg_match_all("/(.*)*/", $this->nbpContent, $matches_t);

$offset = 6;
for($i = 11; $i <= 27; $i++)
{
$a = $i . $offset;
$date = date('Y-m-d');
$name = preg_replace('/[^A-Z]/', '', $matches_t[0][$a] );

$this->kurs[$date][$name]['desc'] = $matches_t[0][$a];
$this->kurs[$date][$name]['purchase'] = str_replace(',', '.', $matches_t[0][$a+2]);
$this->kurs[$date][$name]['sale'] = str_replace(',', '.', $matches_t[0][$a+4]);

$offset+=2;
if($offset == 10)
{
$i++;
$offset = 0;
}
}
return $this->kurs;
}




$kursOnline = getFromNbp();

echo '<pre>' . print_r($kursOnline, true) . '</pre>';

?>


Po uruchomieniu na webservie wyświetla mi w przeglądarce takie coś:

Array
(
[2010-11-18] => Array
(
[] => Array
(
[descaaa] =>
[purchase] =>
[sale] =>
)

)

)


Jak widać coś działa.. lecz nic nie wyświetla (tylko datę)

Czy ktoś mógłby rzucić okiem i zobaczyć co muszę poprawić.

dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--Piotr--
post
Post #2





Goście







Stary wątek, ale trafiłem na niego szukając rozwiązania tego samego problemu, a rozwiązanie znalazłem ostatecznie tutaj: http://www.amo-group.pl/blog/?p=95

A tutaj wersja kodu z powyższej strony używająca CURL:

  1. <?php
  2.  
  3. /*
  4. ****************************************************************
  5. <strong>Skrypt kursów walut</strong>, automatycznie pobierajacy wartosci
  6. z serwera NBP.
  7.  
  8. Autor:
  9. Marcin Olechnowicz
  10. www.amo-group.pl
  11.  
  12. Do uzytku komercyjnego i prywatnego.
  13. Chcesz uzywac? Bardzo prosze, modyfukij dowolnie.
  14. Jedyne o co prosze to daj znac, ze uzyles na biuro@amo-group.pl
  15. *****************************************************************
  16. wymagana biblioteka cURL
  17. */
  18.  
  19. //pobiranie danych z serwera
  20. $curl = curl_init();
  21. curl_setopt($curl, CURLOPT_URL, 'http://nbp.pl/kursy/xml/LastA.xml');
  22. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  23. $dane = curl_exec($curl);
  24. curl_close($curl);
  25.  
  26. $tabela_kursow = new SimpleXMLElement($dane);
  27. // wybranie daty publikacji tabeli w NBP
  28. $data = $tabela_kursow->data_publikacji;
  29. echo $data;
  30. echo "<br/>\n";
  31. echo "<br/>\n";
  32. //wybranie poszczególnych walut
  33. $usd = $tabela_kursow->pozycja[1];
  34. echo $usd->kod_waluty;
  35. echo " - ".$usd->kurs_sredni;
  36. echo "<br/>\n";
  37. echo "<br/>\n";
  38.  
  39. $eur = $tabela_kursow->pozycja[7];
  40. echo $eur->kod_waluty;
  41. echo " - ".$eur->kurs_sredni;
  42. echo "<br/>\n";
  43. echo "<br/>\n";
  44.  
  45. $gbp = $tabela_kursow->pozycja[10];
  46. echo $gbp->kod_waluty;
  47. echo " - ".$gbp->kurs_sredni;
  48. echo "<br/>\n";
  49. echo "<br/>\n";
  50.  
  51. //wyswietlenie wszystkich walut
  52.  
  53. foreach($tabela_kursow->pozycja as $pozycja) {
  54.  
  55. echo $pozycja->kod_waluty;
  56. echo " - ".$pozycja->kurs_sredni;
  57. echo "<br/>\n";
  58. };
  59.  
  60. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 09:04