Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Wprowadzenie opcji selected w select za pomocą php
munc
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 4.03.2009

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


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował munc 4.03.2009, 22:12:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jak to zaimplementować można w php - bo w rozwijanej liście planuje że będzie nawet kilkadziesiąt opcji...

Sesje. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Przenoszę wątek na Przedszkole.
Go to the top of the page
+Quote Post
bełdzio
post
Post #3





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


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"
Go to the top of the page
+Quote Post
chyzio
post
Post #4





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

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


  1. <option value="pl" [php]<? if ($_POST['jezyk']=='polski' selected="selected"); ?>[/php] >polski</option>
Go to the top of the page
+Quote Post
munc
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 4.03.2009

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


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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

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

Żeby zamiast pisać 2 wiersze napisać w jednym ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $tab = array(
  3.   array('pl','polski'),
  4.   array('de','niemiecki'),
  5.   array('es','hiszpanski'),
  6. );
  7. ?>
Go to the top of the page
+Quote Post
munc
post
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 4.03.2009

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


Tablica opisana post wyżej jak najbardziej okazała się dla mnie wygodna.

Dzięki serdeczne za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 3.10.2025 - 18:38