Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html] [php] select
Forum PHP.pl > Forum > Przedszkole
web.admin.pl
witam mam pytanie. kiedy tworze formularz wyboru (liste) i cos z niej wybieram i załózmy zatwierdzam wybór zeby cos sie zrobiło. to po przeładowaniu strony wszystko jest ok tylko ze lista jest nei uzupełniona. probowałem róznie to zrobic no i doszłem tylko do prymitywnego sposobu ze dla kazdego wyboru trzeyba zrobic liste na ktorej wybrana rzecz bedzie pierwsza w kolejnosci. a czy nie dało by rady tego zrobic prosciej? np. tak jak pole tekstowe sie zapamietauje jezeli bylo:

oto przykladowa strona formularz.php
  1. <form action="formularz.php" method=post>
  2. <input name=name type=text >
  3. <input type=submit value=wyslij>
  4. </form>


po kliknieciu przycisku strona sie odswiezy ale pole "name" bedzie juz uzupelnione tą sama wartoscią. i wlasnie tak samo chcialbym zeby z listą było. z tym ze value nie działa... chyba bo moze cos pokręciłem
jak by ktos znal leprzy sposób niz robienie potężnych warunków i do kazdego warunku(wyboru) stworzenie wlasnej listy winksmiley.jpg) no... z góry dzięki... mam nadzieje ze mnie rozumiecie
pozdrawiam
web.admin.pl
TomASS
Hej.
(Wartości właściwości muszą być w cudzysłowach).

Mamy formularz (jeśli nie podasz właściwości action - formularz zostanie wysłany do tego samego pliku):
Pole select generowane przy pomocy pętli for tak dla przykładu.
  1. <?php
  2. echo '<form method="POST" name="form1" id="form1">';
  3. echo '<input type="text" name="pole">';
  4. echo '<select name="lista">';
  5. for($i=0;$i<4;$i++) echo '<option value="'.$i.'">'.$i.'</option>';
  6. echo '</select>';
  7. echo '<input type="submit" value="ok">';
  8. echo '</form>';
  9. ?>


Ustawienie pola typu text:
  1. <?php
  2. echo '<input type="text" name="pole" value="'.$_POST['pole'].'">';
  3. ?>


Ustawienie listy:
  1. <?php
  2. for($i=0;$i<4;$i++){
  3.  if($i==$_POST['lista']) echo '<option value="'.$i.'" selected>'.$i.'</option>';
  4.  else echo '<option value="'.$i.'">'.$i.'</option>';
  5. }
  6. ?>



(Mam nadzieję, że nie ma błędu składni, nie mam możliwości sprawdzenia i pisałem z palca)
web.admin.pl
No ok. bardzo dobry przykład tylko ze wg. mnie nie rozwiązuje on problemu. działa jak nalezy ale jezeli w liscie mają byc wyrazy a nie cyfry generowane za pomocą pentli for. moze w takim wypadku użyc bazy mySQL? i zamiast cyferek podac indeksy pol w ktorych były by te wyrazy? czy to moze sie udac? a moze jest inny prostrzy sposób?
TomASS
sprawdź zanim zapytasz smile.gif

Odpowiedź brzmi tak - tak to się właśnie robi smile.gif
Gość
dziękować...
pozdrawiam
web.admin.pl
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.