Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Pętla while i <select>
Forum PHP.pl > Forum > Przedszkole
kuba_s
Jest sobie prosty formularz z opcją <select>
Wysyłam wybraną opcję do MySQL i wszystko jest cacy.
Opcja wybrana w <select> jest ciągiem znaków, jedna z kilku kolumn w tabeli,
nie ma swojego ID ani w formularzu (chodzi mi o value=), ani oczywiscie w tabeli.

I teraz pojawia sie pytanie.
Jaki sprytny skrypt trzeba napisac, zeby po pobraniu danych z MySQL
php zaznaczał opcję wybraną w w formlurzau wysłanym wczesniej ?

Na php.net znalazlem cos podobnego, kozystajacego z petli while wlasnie, ale nie
mam pojecia jak to zaprząc do pracy ... :
  1. <select name="whatever">
  2. <?php
  3. while ($data = mysql_fetch_assoc($requeteID))
  4. {
  5. $menu .= '<option value="'.$data['id'].'"';
  6. $menu .= ($data['id'] == $_GET['id'] ? ' selected>' :'>');
  7. $menu .= $data['name'].'</option>';
  8. }
  9. ?>
  10. </select>


Link do tej pętli : http://pl.php.net/manual/fi/control-struct...while.php#65243
Chyba kazdy sposob z ktorym nie wiaze sie tworzenie nowych tabel bedzie dobry.
nospor
NIe za bardzo kumam? Czemu w selectcie nie masz jeszcze id? Nie masz ich w bazie? To na podstawie czego generujesz tego selecta?
kuba_s
Formularz <select> do wysłania wygląda tak :

  1. <select name=typ>
  2. <option>Opcja1
  3. <option>Opcja2
  4. <option>Opcja3


Czy to jest zle questionmark.gif rolleyes.gif
I dodawanie dziala OK ... Wyciaganie ciagu znakow tez ...
Jestem otwarty na propozyje, zalezy mi zeby to dzialalo. smile.gif
nospor
Ok, czyli rozumiem, ze jak wyslesz formularz z opcja, to po wyslaniu generujesz nowego selecta, z opcjami z bazy, wsrod ktorych jest nowo dodana?
Aby pobrac nowo dodane ID uzyj:
http://pl.php.net/manual/pl/function.mysql-insert-id.php
Majac to ID, mozesz juz se zaznaczyc w opcjach ostatnio dodaną opcje smile.gif
kuba_s
Mówiąc "wcześniej" nie miałem na myśli "przed chwilą" tongue.gif tylko "w kazdej dowolnej chwilil" tongue.gif
Chodzi mi o cos takiego :

  1. <?php
  2. $opcja = mysql_fetch_assoc(ciag_znakow_z_bazy); //dajmy na to ze pobral opcja2
  3. //No a teraz powinien przez petle(chyba) znalezc ktora z opcji bedzie rowna tej pobranej z bazy...
  4. ?>


Chce zeby w HTMLu wyswietlił mi :
  1. <select name=costam>
  2. <option>Opcja1
  3. <option selected>Opcja2
  4. <option>Opcja3


Hmm ... Czy dobrze wytlumaczylem o co mi idzie questionmark.gif ;>
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.