Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]dropdown lista z pierwszą wartością do edycji
Forum PHP.pl > Forum > Przedszkole
jobp33
Witam serdecznie

Załóżmy że robię do pewnej podstrony dropdownlist która standardowo wyświetla wartości z konkretnej kolumny tabeli. Następnie chciałbym aby edytując pewne wartości formularza (między innymi jedna wartość wybierana z dropdownlist) aby drop down lista zaczynała się najpierw od tej wartości która jest zaznaczona w formularzu. Np formularz kupna samochodu, z dropdownlist wybieram kolor zielony i potem przy edycji tego formularza lista się zaczyna od tego koloru (domyślnie lista pierwszą wartość ma "wybierz kolor"). Mam nadzieję że za mocno nie nagmatwałem.biggrin.gif
Fred1485
http://www.w3schools.com/tags/att_option_selected.asp

W bazie masz zapisane dane, m.in. kolor. Nie wiem czy w bazie masz np. listę wszystkich dostępnych kolorów. Jeśli tak to po prostu ją pobierasz, jeśli nie masz takiego czegoś to zrobiłbym tablicę z dostępnymi wartościami. Potem w pętli tworzyłbym selecta i sprawdzałbym czy kolor równa się kolorowi z bazy. Jeśli tak to dodawałbym selected i tyle. Być może coś lepszego dałoby się wymyślić wink.gif
jobp33
  1. <td>Kolor</td>
  2. <td> <select name="wydzial">
  3. <?php
  4. $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
  5. if($polaczenie->connect_errno!=0){
  6. echo"Error:".$polaczenie->connect_errno;
  7. }else{
  8. $lista = "SELECT kolor FROM parametry";
  9. $wynik=@$polaczenie->query($lista);
  10. $rows=$wynik->num_rows;
  11. while ( $rekordy=$wynik->fetch_assoc()){
  12. $kolor=$rekordy['kolor'];
  13.  
  14. echo "<option value=\"$kolor\">$kolor</option>";
  15. }
  16. echo '<option value="" selected="selected"></option>';
  17. }
  18. ?>
  19. </select>

To jest to co mówiłem że mam. I coś gdzieś wypatrzyłem że kolory z tej listy należy porównać z wartością danej zmiennej. Czy do tego muszę tu zrobić dodatkowe zapytanie SQL? Niby sprawa prosta a jednak już się trochę mi namieszało
maryaan
W zasadzie wszystko już masz. Jeśli chcesz edytować wprowadzone dane to zapewne pobierasz z bazy zapisany "obiekt", w którym masz id wybranego koloru. Teraz wystarczy przy generowaniu formularza edycji (kod, który podałeś) porównywać po kolei dodawane opcje koloru z tą, która jest zapisana w edytowanym obiekcie.
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.