Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Odzyskiwanie z bazy danych pola <select>
Forum PHP.pl > Forum > Przedszkole
DerekDX
Witam,
mam formularz tworzący nowego użytkownika i pewna wartość jest wrzucona w pole <select>
wartosc tego pola jest wpisywana do bazy danych.
Jak odzyskać wartość pola <select> aby wartosc jaka jest wpisana w baze danych byla wyświetlana w polu <select>
konrados
Musisz dołożyć atrybut selected = "selected", http://www.w3schools.com/tags/att_option_selected.asp
DerekDX
to wiem ale jak np przy tworzeniu nowego uzytkownika mam w polu <select> kilka opcji jedna z nich zostanie wpisana do bazy to jak pozniej przy np edycji zrobic tak aby wartosc ktora byla wpisana do bazy danych byla widoczna jako aktywna (pierwsza)
konrados
Szczerze mówiąc nie wiem, czego nie wiesz...
Jeśli $selected ma wartość z bazy danych, to robisz np. takie coś:

  1. <?php
  2. echo "<select>";
  3. echo '<option '.$selected=="opcja1"?'selected="selected"':''.'>opcja1</option>';
  4. echo '<option '.$selected=="opcja2"?'selected="selected"':''.'>opcja2</option>';
  5. echo '<option '.$selected=="opcja3"?'selected="selected"':''.'>opcja3</option>';
  6. echo '</select>';
  7. ?>
d3ut3r
taki dość abstrakcyjny przykład:

  1.  
  2. $pobrane_z_bazy=10 //wartość pobrana z bazy która ma być aktywna w selekcie
  3.  
  4. ?>
  5. <select name="nazwa">
  6. <?php
  7. //$opcje to tablica wszystkich opcji dla selecta
  8. foreach ($opcje as $opcja){
  9. if ($opcja==$pobrane_z_bazy){
  10. ?>
  11. <option value="<?php echo $opcja?>" selected="selected"><?php echo $opcja?></option>
  12. <?php
  13. } else {
  14. <option value="<?php echo $opcja?>" selected="selected"><?php echo $opcja?></option>
  15. }
  16. }
  17. ?>
  18. </select>

DerekDX
napisalem cos takiego
  1. $kategoria=$tab['modelka_kat'];
  2. echo 'Kategoria: ';
  3. echo '<select name="kategoria">';
  4. echo '<option '.$kategoria=="TOP 10"?'selected="selected"':''.'>opcja1</option>';
  5. echo '<option '.$kategoria=="Nowe twarze"?'selected="selected"':''.'>opcja2</option>';
  6. echo '<option '.$kategoria=="Uwaga potwór"?'selected="selected"':''.'>opcja3</option>';
  7. echo '</select><br />';


i nadal nie dziala. Tzn nie wyswietla sie zaden błąd ale skrypt nie wpisuje nic w pola<option>
konrados
A spróbuj:
  1. $kategoria=$tab['modelka_kat'];
  2. echo 'Kategoria: ';
  3. echo '<select name="kategoria">';
  4. echo '<option '.($kategoria=="TOP 10"?'selected="selected"':'').'>opcja1</option>';
  5. echo '<option '.($kategoria=="Nowe twarze"?'selected="selected"':'').'>opcja2</option>';
  6. echo '<option '.($kategoria=="Uwaga potwór"?'selected="selected"':'').'>opcja3</option>';
  7. echo '</select><br />';


A w ogóle to mógłbyś użyć funkcji, wówczas kod byłby czytelniejszy, np:
  1. function getOptionHtml($opt,$selected = false){
  2. return '<option '.($selected?'selected="selected"':'').">$opt</option>";
  3. }
  4. //przykład użycia:
  5. echo getOptionHtml("opcja4",$kategoria == "Uwaga potwór");
DerekDX
Dzieki yahoo.gif dziala elegancko
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.