Dane XML, formularz i ukryte pole

Dane XML, formularz i ukryte pole
dkacperczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Radom, Polska
  • Postów: 116
0

Witam!

Jako jedno z zadań zaliczeniowych dostałem takie: ze strony Narodowego Banku Polskiego skrypt pobiera plik XML z aktualnymi kursami walut. Użytkownik wpisuje kwotę, którą chce przeliczyć a następnie wybiera walutę, w której podał i walutę, na którą chce przeliczyć. No i pojawił się mały problem. Mianowicie w tym miejscu:

Kopiuj
echo ('<select name="wal_first">');
        
  //odczytujemy dane z pliku XML
  $xml = simplexml_load_file('http://nbp.pl/kursy/xml/'.$plik);
  foreach ($xml->pozycja as $dane) 
  {
    echo ('<option>'.$dane->nazwa_waluty.'</option>');
  }

echo ('</select>');

Chciałbym teraz do formularza przesłać nie tylko nazwę waluty ale również przelicznik i średni kurs. Problem w tym, że w liście rozwijanej nie mogę dodać ukrytego pola np. tak:

Kopiuj
echo ('<option>'.$dane->nazwa_waluty.'<input type="hidden" name="kurs_sredni1" value="'.$dane->kurs_sredni.'"</option>');

Poradzicie coś? Jakieś pomysły poza wstawieniem do listy tych 3 pól i oddzieleniem ich np. slashem a później funkcja explode?

CH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 656
1
  1. W option masz atrybut value, w którym możesz przesłać listę rozdzieloną czym chcesz, a user będzie widział tylko nazwę ze środka taga.
  2. Możesz na zdarzeniu onchange listy ustawiać pozostałe wartości w polach ukrytych (oczywiście JavaScript).
  3. POWINIENEŚ wysłać tylko nazwę waluty z listy, a na sesji na serwerze mieć zapamiętane pozostałe informacje z pliku i sobie je dobrać do obliczeń.
corey
  • Rejestracja: dni
  • Ostatnio: dni
1

Chyba najszybsze rozwiązanie:

Kopiuj
 echo ('<option value="'.$dane->kurs_sredni.'|'.$dane->kurs_nazwa.'|'.$dane->kurs_przelicznik.'">'.$dane->nazwa_waluty.'</option>');
dkacperczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Radom, Polska
  • Postów: 116
0

Dziękuję, bardzo mi pomogliście :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.