Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Domyślna wartość w formularzu
Forum PHP.pl > Forum > Przedszkole
radziowie
Mam mały problem. Otóż stworzyłem sobie formularz, gdzie w rozwijanym menu mam wartości pobierane z bazy. Poniżej mam kod formularza. Dokładnie jest to formularz edycji. Co zrobić, aby ustawić domyślną wartość rozwijanej listy?

  1. <table border=\"1\">
  2. <tr>
  3. <td width=\"120\"><form action=\"zdjecia.php\" method=\"post\">
  4. nr id: ".$nrid_zdjecia."<input type=\"hidden\" name=\"co\" value=\"popraw\">
  5. <input type=\"hidden\" name=\"id_zdjecia\" value=\"".$nrid_zdjecia."\"><br /></td>
  6. </tr><tr>
  7. Zdjęcie:<input type=\"text\" name=\"zdjecie\" value=\"".htmlspecialchars($zdjecie)."\"><br /></td>
  8. </tr><tr>
  9. <td width=\"120\">Opis:<textarea name=\"opis\" cols=\"50\" rows=\"10\">".htmlspecialchars($opis)."</textarea><br /></td>
  10. </tr><tr>
  11. <td width=\"120\">
  12. Kategoria: <select name=\"id_kat\">";
  13. $kat = mysql_query("SELECT kategoria FROM kategorie;") or
  14. die ("zle polecenie sql");
  15. WHILE ($rekord = mysql_fetch_assoc ($kat))
  16. {
  17. $kategoria = $rekord['kategoria'];
  18. echo '
  19. <option>'.$kategoria.'</option>';
  20. }
  21. echo "
  22. </select><br /></td>
  23. </tr><tr>
  24. <td align=\"center\"><input type=\"submit\" name =\"popraw\" value=\"popraw\"><br />
  25. </form></td>
  26. </tr>
  27. </table>";
Kshyhoo
To ma być wartość pobrana z bazy?
sadistic_son
  1. <option <? if($default=='1')echo 'selected="selected"'; ?> value="123" >domyslna</option>

Obczaj punkt drugi.
radziowie
Tak. Wartość pobrana z bazy. Jak widać wszystko sprowadza się tylko do kodu:
  1. WHILE ($rekord = mysql_fetch_assoc ($kat))
  2. {
  3. $kategoria = $rekord['kategoria'];
  4. <option>'.$kategoria.'</option>';
  5. }

I tu właśnie nie wiem jak to oznaczyć
lobopol
w tym while dać:
  1. if($kategoria == 'to co ma być wybrane'){
  2. echo '<option selected="selected">'.$kategoria.'</option>';
  3. }else{
  4. echo '<option>'.$kategoria.'</option>';
  5. }

i taka rada lepiej nie rób w pętli echa tylko dorzucaj sobie to co ma być wyświetlone do zmiennej i dopiero po pętli to wyświetl. No i druga rada skoro masz w echo cały formularz to używaj pojedynczych cudzysłowi, nie będziesz musiał dodawać \ przed ".
radziowie
Ok. Działa to tylko trzeba podać czemu ma odpowiadać kategoria:

if($kategoria == 'to co ma być wybrane'){

A co zrobić, aby porównywał on do wartości pobranej z bazy? Czyli załóżmy, że wybrana została opcja "druga" to domyślna wartość do "druga" a gdy jest opcja "trzecia" to wybiera "trzecia"?

Ok. Juz porodziłem sobie. Wielki dzięki.
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.