Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]dropdown lista z pierwszą wartością do edycji
jobp33
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 30.11.2015

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


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.(IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Fred1485
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


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ć (IMG:style_emoticons/default/wink.gif)

Ten post edytował Fred1485 29.12.2015, 18:59:24
Go to the top of the page
+Quote Post
jobp33
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 30.11.2015

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


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





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


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.
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: 22.08.2025 - 14:43