Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][HTML][PHP]Domyślna wartość listy rozwijanej
sq6aah
post 16.02.2010, 13:12:30
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 12.10.2009

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


Witam,
chciałem aby na rozwijanej liście domyślnie ustawiana była pozycja wyciągnięta z bazy danych. Wiem że można zrobić to statycznie poprzez selected, ale nie mogę wymyślić żadnego rozwiązania w PHP.
Przedstawię jeszcze przykład aby to lepiej wyjaśnić.

Lista:
  1. <select name="jezyk">
  2. <option value="pl">Polski</option>
  3. <option value="en">Angielski</option>
  4. <option value="de">Niemiecki</option>
  5. <option value="fr">Francuski</option>


I jeśli w bazie będzie "fr" to aby lista wyglądała tak:
  1. <select name="jezyk">
  2. <option value="pl">Polski</option>
  3. <option value="en">Angielski</option>
  4. <option value="de">Niemiecki</option>
  5. <option selected value="fr">Francuski</option>
  6. </select>


Wystarczy tylko jeśli ktoś naprowadzi mnie na jakieś rozwiązanie.
Z góry dziękuje za pomoc.
Go to the top of the page
+Quote Post
Kshyhoo
post 16.02.2010, 13:23:12
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Na forum jest sporo wątków na ten temat, choćby ten


--------------------
Go to the top of the page
+Quote Post
emtiej
post 16.02.2010, 13:26:46
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

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


  1. // pobierasz to co masz pobrać i odpowiedni jezyk przypisujesz do zmiennej $lang na przykład
  2.  
  3. switch($lang)
  4. {
  5. case "pl":
  6. echo '
  7. <select name="jezyk">
  8. <option selected value="pl">Polski</option>
  9. <option value="en">Angielski</option>
  10. <option value="de">Niemiecki</option>
  11. <option value="fr">Francuski</option>
  12. </select> ';
  13. break;
  14. case "en":
  15. echo '
  16. <select name="jezyk">
  17. <option value="pl">Polski</option>
  18. <option selected value="en">Angielski</option>
  19. <option value="de">Niemiecki</option>
  20. <option value="fr">Francuski</option>
  21. </select> ';
  22. break;
  23. case "de":
  24. echo '
  25. <select name="jezyk">
  26. <option value="pl">Polski</option>
  27. <option value="en">Angielski</option>
  28. <option selected value="de">Niemiecki</option>
  29. <option value="fr">Francuski</option>
  30. </select> ';
  31. break;
  32. case "fr":
  33. echo '
  34. <select name="jezyk">
  35. <option value="pl">Polski</option>
  36. <option value="en">Angielski</option>
  37. <option value="de">Niemiecki</option>
  38. <option selected value="fr">Francuski</option>
  39. </select> ';
  40. break;
  41. default:
  42. echo '
  43. <select name="jezyk">
  44. <option value="pl">Polski</option>
  45. <option value="en">Angielski</option>
  46. <option value="de">Niemiecki</option>
  47. <option value="fr">Francuski</option>
  48. </select> ';
  49. }
  50.  


Albo jak wolisz to zrób sobie ifami jak kto woli...
Go to the top of the page
+Quote Post
artek77
post 17.02.2010, 23:24:20
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 6.02.2006

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


Przykład, który być może rozwiąże twój problem:

  1. <?php
  2. $tab_ubrania_id_ubrania=1; // ID wybranego ubrania
  3. $tab_ubrania_nazwa_ubrania='Czapka niewidka'; // Nazwa wybranego ubrania
  4. $tab_ubrania_nr_koloru=4; // ID koloru przypisanego dla wybranego ubrania
  5.  
  6. $form_kolor = '<select name="kolor">';
  7. foreach($tab_kolory as $kolor)
  8. {
  9. $kolor['id_koloru']==$ubranie['nr_koloru'] ? $selected=' selected' : $selected='';
  10. $form_kolor.= '<option value='.$kolor['id_koloru'].$selected.'>'.$kolor['nazwa_koloru'].'</option>';
  11. }
  12. $form_kolor .= '</select>';
  13.  
  14. echo $form_kolor;
  15. ?>

źródło


--------------------
Projektowanie stron Łódź, skrypty oraz grafika, a także dobry katalog stron.
Go to the top of the page
+Quote Post
altruista2
post 18.02.2010, 00:04:10
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 32
Dołączył: 8.02.2010

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


Chyba najbardziej eleganckie rozwiązanie (bez switcha na 50 linijek:D):
  1. $wybrane = 'fr';
  2.  
  3. $opcje = Array(
  4. 'pl' => 'Polski',
  5. 'de' => 'Niemiecki',
  6. 'en' => 'Angielski',
  7. 'fr' => 'Francuski');
  8.  
  9. echo '<select name="jezyk">';
  10. foreach($opcje as $k=>$v) {
  11. $wybrane==$k ? $selected=' selected' : $selected='';
  12. echo "<option value=\"$k\"$selected>$v</option>";
  13. }
  14. echo '</select>


Ten post edytował altruista2 18.02.2010, 00:05:34


--------------------
Jeśli Ci pomogłem kliknij pomógł. W ten sposób temat zaświeci się na żółto i użytkownicy którzy pomagają nie będą musieli niepotrzebnie klikać. Dziękuję.

"Pomaganie"
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:26