Может ли codeigniter получить массив записей? - PullRequest
1 голос
/ 31 января 2012

Я пытаюсь получить отправку массива записей со страницы просмотра с помощью $ this-> input-> post ().Тем не менее, похоже, что CI не в состоянии это сделать.Есть мысли?

контроллер

public function pub()
    {
    // the postArray is an array: $postArray['t1']=test1, $postArray['t2']=test2 
    $go=$this->input->post('postArray');    
    foreach ($go as $test){

    echo $test['t1'];  //show nothing
    echo $test['t2'];  //show nothing

    }

//the following code would work if I sent the $postArray as a string variable

 public function pub()
    {
    // the postArray is an string variable $postArray='test1'
    $go=$this->input->post('postArray');    

    echo $go; //show test1

        }

Спасибо за помощь.

ОБНОВЛЕНИЕ: следующий код Jquery на моей странице просмотра

   //postArray is an array
     $.post('<?=base_url()?>/project_detail/pub', {'postArray':postArray},function(go)
        {
            alert(go);
        })

1 Ответ

5 голосов
/ 31 января 2012

Вы проверили свой HTML?Вы должны включить синтез [] в атрибут name для создания массива, например

<input type="text" value="something..." name="postArray[]" />
<input type="text" value="something..." name="postArray[]" />

Вывод print_r($this->input->post()):

Array (

   [0] => something...
   [1] => something...
)

Если вы хотите включитьименные ключи вместо индексированного массива, вы можете использовать этот метод:

<input type="text" value="something..." name="postArray[t1]" />
<input type="text" value="something..." name="postArray[t2]" />

Вывод print_r($this->input->post()):

Array (

   [t1] => something...
   [t2] => something...
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...