Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] edytowanie pola select i radio
Forum PHP.pl > Forum > Przedszkole
spider865
Witam,
chcę edytować dane jakieś osoby. Dane tej osoby pobierane są z bazy MySQl.
Pobrane dane zapisuje w polach formularza. Z polami tekstowymi nie mam problemów, bo poprostu wpisuje wartosc pobraną z bazy w pole formularza. Mam natomiast problem co zrobić z polem typu radio i select. jak zrobić, żeby były wszytskie dostepene opcje w selec i radio, a zaznaczone to co są pobrane z bazy? Mam nadzieje, że jasno sprecyzowalem pyatnie tongue.gif

Byłbym wdzieczy za pomoc.
smile.gif
Hazel
Pobierasz opcję domyślną z bazy, zapisujesz ją w zmiennej, tworzysz normalny formularz i sprawdzasz, czy wartość zapisana w zmiennej jest identyczna z wartością danego pola formularza. Jeśli tak właśnie jest, do tego pola dodajesz atrybut checked (dla przycisków radiowych) lub selected (dla pola select).
Jak masz jakieś problemy, to wrzuc trochę kodu i zapytaj, ktoś Ci pomoże. Gotowców nie oczekuj.
uli
Przydałby się kawałek kodu...


No cóż jeśli dobrze rozumiem, masz ileś tam opcji wyboru (roadio lub check) i chcesz mieć zaznaczone tylko te które masz zaznaczone w bazie:


Dla przykładu radio:

Założenia:
$tablica - tablica z możliwymi opcjami (wszystkimi) (np. [0] => "Opcja 1", [1]=>"Opcja 2", [2]=>"Opcja 3")
$zaznaczone - tablica wyciągnięta z bazy (np. [0] => 0, [1] => 0, [2] => 1)
Zakładam, że indeksy tablic są tożsame (tzn. jeśli $zaznaczone[0] = 0 to znaczy, że "Opcja 1" nie została wybrana)

  1. <?php
  2. for ($i=0; count($tablica); $i++)
  3. {
  4. echo "<input type=\"radio\" name=\"radioboksik\" value=\"".$tablica[$i];
  5. if ($zaznaczone[$i] == 1) echo "\" checked>"; else echo"\">";
  6. }
  7. ?>


Pisane z palca.
potreb
jeżeli chodzi o pole select i radio masz tu taki przykład
  1. <?php
  2. echo "<select name="pole1"><option";
  3. if ($row['pole'] = "1") { echo " selected>";)
  4. ?>
drPayton
Popraw proszę temat na zgodny z zasadami forum przedszkole, w przeciwnym wypadku wątek zostanie zamknięty.

Pozdrawiam!
spider865
Cytat(uli @ 3.01.2008, 08:26:19 ) *
Założenia:
$tablica - tablica z możliwymi opcjami (wszystkimi) (np. [0] => "Opcja 1", [1]=>"Opcja 2", [2]=>"Opcja 3")
$zaznaczone - tablica wyciągnięta z bazy (np. [0] => 0, [1] => 0, [2] => 1)
Zakładam, że indeksy tablic są tożsame (tzn. jeśli $zaznaczone[0] = 0 to znaczy, że "Opcja 1" nie została wybrana)

[php]


Witam,
nie bardzo wiem jak zadeklarować $tablica i $zaznaczone. Mógłby ktoś pokazać te deklaracje z przykładowymi wartościami. Byłbym wdzięczny bardzo.
Hazel
Pokazali Ci przecież.
$tablica = array(0 => 'Opcja 1', 1 => 'Opcja 2'....)
Zamiast Opcja n wpisujesz jakąś wartość ustawienia, jaką tam chcesz...
spider865
ok, już rozumiem, nie wiedziałem, że taka jest składnia tablicy tongue.gif
a czy elementów w $zaznaczone jest tyle samo co w $tablica?

Wiem, że głupie pytanie, ale dopiero zaczynam się tym bawić... :/

Dzięki za pomoc!
markusz
Kod
<?php
$tablica_cen = array(0=>"do 250", 1=>"do 400", 2=>"do 600", 3=>"do 1000", 4=>"powyżej 1000");
for($i=0; count($tablica_cen); $i++){
echo "<input type=\"radio\" name=\"cena\" value=\"".$tablica_cen[$i]/>";
?>


Oto kod, który wklepałem. Stronę tworzę przy pomocy CMS'a Drupal i jest zaznaczone wpisywanie kodu PHP. Czy ktoś z forumowiczów mógłby mi podpowiedzić co jest nie tak ? Wskazywany jest błąd w linijce z wywołaniem.

Drugi mój problem polega na tym, że nie wiem jak zapisać zaznaczone opcje w bazie danych (w moim przypadku MS Access).

Bedę wdzięczny za pomoc i wyrozumiałość, bo dopiero zaczynam w temacie PHP.
seba15290
Cytat(markusz @ 4.01.2008, 14:09:27 ) *
Kod
<?php
$tablica_cen = array(0=>"do 250", 1=>"do 400", 2=>"do 600", 3=>"do 1000", 4=>"powyżej 1000");
for($i=0; $i<=count($tablica_cen); $i++){
echo "<input type=\"radio\" name=\"cena\" value=\"".$tablica_cen[$i]/>";
?>
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.