Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Wprowadzenie opcji selected w select za pomocą php
Forum PHP.pl > Forum > Przedszkole
munc
Witam,

Poszukuję rozwiązania dla php, dzięki któremu gdy użytkownik w rozwijanej liście wybierze jakąś opcję - to po przeładowaniu formularza (w wyniku na przykład konieczności poprawienia innych danych) zostanie zapamiętane co wybrał.


Czyli jak jest formularz:
Kod
<select  name="jezyk" size="1"><option value="na"></option><option value="pl">polski</option><option value="de">niemiecki</option></select>

I użytkownik wybierze polski to po przeładowaniu ta opcja będzie widoczna jako wybrana.
Z tego co znalazłem musi być wtedy:
Kod
<select  name="jezyk" size="1"><option value="na"></option><option value="pl" selected>polski</option><option value="de">niemiecki</option></select>


Jak to zaimplementować można w php - bo w rozwijanej liście planuje że będzie nawet kilkadziesiąt opcji...
Z góry dziękuję bardzo za pomoc smile.gif
erix
Cytat
Jak to zaimplementować można w php - bo w rozwijanej liście planuje że będzie nawet kilkadziesiąt opcji...

Sesje. winksmiley.jpg

Przenoszę wątek na Przedszkole.
bełdzio
opcje trzymaj w tablicy, w ktorej kluczem jest wartosc opcji, a wartoscia wyswietlany txt, w petli podczas wypisywania kolejnych tagow <option /> sprawdzaj czy klucz aktualnego elementu tablicy = wartosc przeslana przez usera jesli tak dodajesz selected="selected"
chyzio
  1. <option value="pl" [php]<? if ($_POST['jezyk']=='polski' selected="selected"); ?>[/php] >polski</option>
munc
Dzięki serdeczne za popowiedzi.

Zanim przeczytałem post chyzio zrobiłem to co napisał bełdzio:


  1. <?php
  2. $tab[0][0]="pl";
  3. $tab[0][1]="polski";
  4.  
  5. $tab[1][0]="de";
  6. $tab[1][1]="niemiecki";
  7.  
  8. $tab[2][0]="es";
  9. $tab[2][1]="hiszpanski";
  10.  
  11. $jezyki='';
  12. $jezyki .='<select  name="jjezyk" size="1"><option value="na"></option>';
  13. for ($i=0;$i<2;$i++)
  14. {
  15.  $jezyki .='<option value="'.$tab[$i][0].'"';
  16.  if ($_POST['jjezyk']==$tab[$i][0])
  17.      $jezyki .=' selected';
  18.  $jezyki .='>'.$tab[$i][0].'</option>';
  19. }
  20. $jezyki .='</select>';
  21. ?>



i działa biggrin.gif

Mam jeszcze pytanie - czy jakoś efektywniej da się zrobić tablicę dwuwymiarową ?

Żeby zamiast pisać 2 wiersze napisać w jednym ? smile.gif
nospor
  1. <?php
  2. $tab = array(
  3.   array('pl','polski'),
  4.   array('de','niemiecki'),
  5.   array('es','hiszpanski'),
  6. );
  7. ?>
munc
Tablica opisana post wyżej jak najbardziej okazała się dla mnie wygodna.

Dzięki serdeczne za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.