2010-11-06 8 views
10

Jestem nowym PHP CodeIgniter,jak uzyskać wartości wyboru opartą php CodeIgniter w kontrolerze

jak dostać wyboru wartości za pomocą php CodeIgniter w kontrolerze.

Tutaj są pola wyboru, chcę uzyskać wartości pól wyboru na podstawie nazwy jako "businessType" w kontrolerze za pomocą post menthod.

<input type="checkbox"name="businessType" value="1"> 
<input type="checkbox"name="businessType" value="2"> 
<input type="checkbox"name="businessType" value="3"> 

Proszę zaproponować

dzięki

Odpowiedz

37
<input type="checkbox" name="businessType[]" value="1"> 
<input type="checkbox" name="businessType[]" value="2"> 
<input type="checkbox" name="businessType[]" value="3"> 

zrobić $data = $this->input->post('businessType');

Powinieneś zobaczyć, że $ dane jest tablicą i pokazuje inny va lues. Spróbuj wykonać var_dump($data);, aby zobaczyć, co znajduje się w tablicy.

var_dump()

7

Jeśli tylko jeden z tych wyboru może być wybrany na raz, należy użyć grupy przycisków radiowych (type="radio") zamiast. Zakładam, że to jest to, co próbujesz zrobić, ponieważ wszystkie wejścia są takie same.

Aby uzyskać wartość pola wyboru lub radiowego przycisku grupy, należy:

$this->input->post('businessType') 

Edit:

Jeśli rzeczywiście chcą wyboru, trzeba będzie wymienić je wszystkie coś innego:

<input type="checkbox"name="businessType1" value="1"> 
<input type="checkbox"name="businessType2" value="2"> 
<input type="checkbox"name="businessType3" value="3"> 

a następnie użyć tej samej metody POST jak poprzednio:

$this->input->post('businessType1') //the first checkbox's value 
$this->input->post('businessType2') //the second 
$this->input->post('businessType3') //the third 
+0

ale z pomocą tego, w jaki sposób mogę uzyskać wiele wartości wyborze? – Vicky

+0

Ah, jeśli rzeczywiście chcesz uzyskać wiele wartości, musisz mieć inną nazwę dla każdego pola wyboru. Patrz wyżej. – davidscolgan

+0

Ta metoda sprawi, że praca z zaznaczonymi polami dynamicznymi będzie bardzo trudna. Dlaczego nie skorzystać z metody sugerowanej przez @ tpae? – aphoe

-1

Jak sugeruje dvcolgan (+1), przyciski radiowe są tym, czego powinieneś użyć, oto przykład zawarty w zestawie pól.

Twój HTML

<fieldset> 
<legend>Choose Business Type:</legend><br> 
<input type="radio" name="businessType" value="1"> 
<input type="radio" name="businessType" value="2"> 
<input type="radio" name="businessType" value="3"> 
</fieldset> 

Następnie w php

$businessType = $this->input->post("businessType"); 
+0

ale przy pomocy tego, w jaki sposób otrzymam wiele wartości wyboru? – Vicky

6

Umieścić szelki po każdej nazwie. Dać sobie unikalną wartość:

<input type="radio" name="businessType[]" value="1"> 
<input type="radio" name="businessType[]" value="2"> 
<input type="radio" name="businessType[]" value="3"> 

uzyskać je tak:

substr(implode(', ', $this->input->post('businessType')), 0) 
Powiązane problemy