2013-07-21 4 views
0

Я новичок в Codeignite. У меня есть «Test» Controller с функциями «index()» и «view ($ id)». метод index переходит к представлению «test1.php». В «test1.php» у меня есть варианты выпадающего списка. если я отправлю на эту страницу, вызывается метод «view» контроллера «Test». Мой вопрос заключается в том, как передать значение параметра функции «просмотр», так что аргумент метода будет установлен в значение параметра, а затем URL-адрес будет выглядеть как "http://localhost/test/view/id", значение id которого является значением параметра «test1.php»,показать html значение параметра codeigniter

Test Controller

class Test extends CI_Controller{ 
    public function indx() { 
    //some code 
     $this->load->view('test1.php'); 
    } 
    public function view($id) 
    { 
    //some code, here I use $id which I want to be option value from test1.php 
    } 

test1.php

<?php 
$options = array(
       '1' => 'One', 
       '2' => 'Two', 
       '3' => 'Three', 
       '4' => 'Four', 
      ); 

$js = 'id="shirts" onChange="this.form.submit();"'; 
echo form_dropdown('shirts', $options, '1', $js); 
/* here I want to call echo form_open() as echo form_open("/test/view/[option value]") but I don't know how to do this;*/ 

ответ

0

Вы можете загрузить представление с данными.

class Test extends CI_Controller{ 
    public function index($id) { 
     $this->data['result'] = get_results($id); 
     $this->load->view('test1.php', $this->data); 
    } 
} 

В файле представления:

foreach ($results as $result) { 
    // action 
} 
0

Если его необходимо, чтобы вы передаете идентификатор в URL, то вам нужно использовать JavaScript, чтобы добавить идентификатор к URL формы действий с использованием change прослушиватель событий в поле выбора.

Однако, ИМХО, вам было бы лучше просто получить значение в виде () из данных POST.

Использование $ id = $ this-> input-> post ('shirts', TRUE), вместо того, чтобы заставлять его через URL-адрес.

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