Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pola typu radio
Forum PHP.pl > Forum > PHP
Reptile ReX
Mam pewien problem, mianowicie tworzę sobie pewną ankietę z dużą ilością pol typu radio.
I teraz tak, nie każde pole jest obowiązkowe, ja ułatwiłem sobie pracę w taki sposób że do bazy danych wyniki idą w takiej postaci:

Odpowiedź<br />Odpowiedź2<br />Odpowiedź3<br />

itd (abym nie tworzył tylu kolumn w bazie i nie musiał odwoływać się osobno do każdego elementu w POSCIE).

Potem sobie tylko exploduje po <br />.

Ale jeżeli ktoś nie wypełni pól typu radio to do posta nie idzie w ogóle to pole.
Czy da się zrobić aby to pole szło do POST'a nawet jak nie jest wypełnione ?

Próbowałem z issetem + dodanie zmiennej do posta, ale wtedy to pole zostaje dodane na końcu tabeli, a mnie to nie satysfakcjonuje, potrzebuję aby były pola w takiej samej kolejności.

Macie jakieś rady ?
krowal
To sobie faktycznie ułatwiłeś, a wiesz chociaż która odpowiedź jest z którego pola ? To jest mega bezpieczny sposób na przesyłanie danych biggrin.gif Po to jest $_POST żeby z niego korzystać a nie wymyślać jakieś badziewne rozwiązania. Zrób tak:
  1. <input type="radio" name="radio[odpowiedz_1]" value="1" />
  2. <input type="radio" name="radio[odpowiedz_1]" value="2" />
  3. <input type="radio" name="radio[odpowiedz_1]" value="3" />
  4.  
  5. <input type="radio" name="radio[odpowiedz_2]" value="1" />
  6. <input type="radio" name="radio[odpowiedz_2]" value="2" />
  7. <input type="radio" name="radio[odpowiedz_2]" value="3" />
  8.  
  9. <input type="radio" name="radio[odpowiedz_3]" value="1" />
  10. <input type="radio" name="radio[odpowiedz_3]" value="2" />
  11. <input type="radio" name="radio[odpowiedz_3]" value="3" />

A w php odbierasz tak:
  1. foreach($_POST['radio'] as $key => $val){
  2. echo $key.' => '.$val; // wyświetli np odpowiedz_1 => 2, odpowiedz_2 => 1 itd..
  3. }

A jak to już sobie zapiszesz do bazy to twoja sprawa.
Reptile ReX
Ja korzystam z POST'a tylko że normalnie musiałbym odwołać się do ponad 100 elementów, a tak to sobie tylko foreachem przejadę po całym POSCie dodając po każdym elemencie <br />.

A potem to sobie tylko exploduje i mam wyniki.
krowal
To po co najpierw sklejasz wszystkie elementy a potem je rozbijasz explode'm, gdzie tu sens ?
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.