Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] formularze
Forum PHP.pl > Forum > Przedszkole
matyskiewicz
Witam
Sytuacja:
Dodaję jakieś dane do bazy danych za pomocą formularza. W formularzu mam listę (<select></select>).
Jak zrobić by podczas edycji tych danych lista wskazywała zapisany parametr?
JoShiMa
Nie wiem czy dobrze zrozumiałam, ale chyba potrzebujesz ustawić atrybut selected w odpowiednim elemencie <option>
matyskiewicz
Przykład:
Mam taka listę:
  1. <select name="selectKomputery">
  2. <option>-- wybierz grupę --</option>
  3. <option value="1">artur-pc</option>
  4. <option value="4">brak2</option>
  5. <option value="7">test</option>

i z bazy danych zapisana jest wartosc 7 czyli chciałbym aby po wejsciu na stronę edycji w select byla juz automatycznie pozycja z value="7".
Wykrywacz
Czyli masz coś takiego?
  1. <?php
  2. echo '<option value="'.$id_zbazy.'">'.$nazwa_przypisana_do_id_rowniez_zbazy.'</option>';
  3. ?>


O to ci chodzi?
matyskiewicz
Pozostawmy php. Select mi się ładnie generuje.

formularz:
pole tekstowe - imie
pole tekstowe - nazwisko
lista -wybierz plec
| - value = f (facet)
| - value = b (baba)
przycisk wyslij

Wysyłam do bazy danych taki formularz
A teraz chce go edytować jakaś "babe".
wyswietla mi się imie, nazwisko oraz pierwsza wartosc z listy.
Chcialbym zrobic tak by kiedy edytuje kobiete pojawialo mi sie automatycznie w liście wartosc baba
Wykrywacz
pokaż kod i selecta to ci zrobię żeby było wporzo

Krótko mówiąc jeżeli wyświetlasz na sztywno, to napewno nie będzie ci się co innego pojawiało.
Musisz wartości z forma uzupełnić danymi z selecta.

jak wyżej pokaż do ci wytłumaczę na twoim przykładzie
q3d
Generujesz znaczniki

w pętli:

  1. <?php
  2. while ($komputery = mysql_fetch_object($result) {
  3.  echo '<option value="'.$komputery->id.'" ';
  4.  if ($komputery->id == $edit['komputer_id']) {
  5.   echo selected="selected";
  6.  }
  7.  
  8.  echo '>'.$komputery->nazwa.'</option>';
  9. }
  10. ?>


i sprawdzasz czy wartość z atrybutu value nie równa sie tej wartości wyciągniętej np. z bazy danych.

Lub z palca wstawiasz w każdym if-a winksmiley.jpg
Wykrywacz
Jeżeli jest to edycja konkretnej osoby to po co mu ładujesz z whila?
q3d
Pętla while generuje opcje, które dotyczą pojedynczej osoby. Pojedyńcza osoba ma do wyboru w polu select jakieś opcje.
Możesz je wprowadzić z palca a możesz wygenerować na podstawie bazy danych, tablicy itp. Zawsze to mniej pisania.
matyskiewicz
wlasnie chodzilo mi o
  1. <option value="b" selected="selected">baba</option>

dzieki z apomoc
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.