w tej tabeli brakuje daty kiedy obowiązywał dany kurs, i wtedy nie update tylko insert robisz — Miang
@Miang: Akurat kurs wymiany mnie tylko interesował, ale oczywiście można dopisać datę, bo w tablicy $dane jest taka informacja zgodnie z tym co zwraca zapytanie
$nbp = file_get_contents('http://api.nbp.pl/api/exchangerates/rates/a/'.$iso_waluty.'?format=json');
a jest to konkretnie: effectiveDate w formacie json:
{"table":"A","currency":"dolar amerykański","code":"USD","rates":[{"no":"116/A/NBP/2022","effectiveDate":"2022-06-17","mid":4.4630}]}
Wtedy odwołujesz się do tablicy $dane tak:
$data_kursu = $dane["rates"][0]["effectiveDate"];
Jeśli natomiast chodzi o zapisanie tego do bazy danych to w moim przypadku INSERT stosujesz wtedy gdy rekordu o danej walucie nie ma jeszcze w bazie i zapisujesz go po raz pierwszy, a UPDATE robisz, gdy dane o konkretnej walucie były już w tabeli.
Nie chcę przechowywać informacji o zmianach kursów danej waluty tylko ostatni średni kurs. Jeden rekord dla danej waluty wystarczy mi w projekcie, nie ma potrzeby stosować INSERT z nową datą.
Dla zainteresowanych na stronie NBP jest apisane to API w szczegółach. My w tym przykładzie odwołujemy się do tabeli A - jak average, czyli średni. Ale można pobrać różne dane o kursach walut i nawet kursach złota.
Warto się zapoznać.
http://api.nbp.pl/en.html
Fragment z opisu.
Exchange rate query parameters
{table} – table type (A, B, or C)
{code} – a three- letter currency code (ISO 4217 standard)
{topCount} – a number determining the maximum size of the returned data series
{date}, {startDate}, {endDate} – a date in the YYYY-MM-DD format (ISO 8601 standard)
Queries for complete tables
Templates of enquiries about complete tables of currency exchange rates
Current table of exchange rates of type {table}
http://api.nbp.pl/api/exchangerates/tables/{table}/
Series of latest {topCount} tables of exchange rates of type {table}
http://api.nbp.pl/api/exchangerates/tables/{table}/last/{topCount}/
Exchange rate table of type {table} published today (or lack of data)
http://api.nbp.pl/api/exchangerates/tables/{table}/today/
Exchange rate table of type {table} published on {date} (or lack of data)
http://api.nbp.pl/api/exchangerates/tables/{table}/{date}/
Series of exchange rate tables of type {table} published from {startDate} to {endDate} (or lack of data)
http://api.nbp.pl/api/exchangerates/tables/{table}/{startDate}/{endDate}/
Pozdrawiam.