2010-11-10 2 views
0

Так что я довольно отсталый в такого рода вещи, это моя первая попытка кодирования что-то так вот:Несколько кнопок радио - код воспламенитель

Это, на мой взгляд:

<?php 
echo form_open(); 
echo form_radio('name1', '1'). " 1"; 
echo form_radio('name1', '2'). " 2"; 
echo form_radio('name1', '3'). " 3"; 

echo form_radio('name2', '1'). " 1"; 
echo form_radio('name2', '2'). " 2"; 
echo form_radio('name2', '3'). " 3"; 

echo form_radio('name3', '1'). " 1"; 
echo form_radio('name3', '2'). " 2"; 
echo form_radio('name3', '3'). " 3"; 
echo form_submit('vote', 'Submit!'); 
echo form_close(); 
?> 

Это в моем контроллере:

if ($this->input->post('vote')) { 
$this->My_model->do_something(); 
} 

Это последнее бит я нужно сделать для моего маленького сценария, я хочу 3 различных переменные из коробки радио, чтобы мой контроллер, то моя модель, но я не совсем уверен, как делать он и CI меня иногда смущает.

Помощь!

ответ

4
$name1 = $this->input->post('name1'); 
$name2 = $this->input->post('name2'); 
$name3 = $this->input->post('name3'); 

if ($this->input->post('vote')) { 
    $this->My_model->do_something($name1, $name2, $name3); 
} 

С помощью переключателей, если имеется несколько одинаковых имен, можно выбрать только одно из этих названий. Вышеуказанные 3 строки должны возвращать 1, 2 или 3 для каждого из 3 наборов переключателей.

EDIT: Чтобы проверить наличие повторяющихся значений в PHP, вы можете использовать array_unique.

$names = array($name1, $name2, $name3); 
$uniqueNames = array_unique($names); 
if($names == $uniqueNames){ 
    // No duplicate values 
} 
else{ 
    // Duplicate values 
} 
+0

Спасибо за ответ. Но для дубликата каждая имеет одинаковые значения, например, вы выбираете 1 1 2 - 1, это будет дубликат – opps

+0

Да, 1 будет дублировать ... и? –

+0

Я хочу, чтобы все 3 из них были разными – opps

0

В контроллере:

$btnNo1 = $this->input->post('name1'); 
$btnNo2 = $this->input->post('name2'); 
$btnNo3 = $this->input->post('name3'); 

$this->load->model('My_model'); 
$this->My_model->do_something($btnNo1,$btnNo2,$btnNo3); 

В модели:

class My_model extends Model{ 

    function My_model(){ 
     parent::Model(); 
    } 

    public function do_something($btn1,$btn2,$btn3){ 
     //do some stuff with you btn values 
    } 
} 
+0

У вас есть доступ к '$ this-> input-> post()' в вашей модели. Поэтому вместо передачи btnNo от 1 до 3 к вашей модели, выберите данные в вашей модели. Таким образом, в будущем это будет проще, если вы хотите добавить, скажем, btnNo4. Просто мои мысли –

Смежные вопросы