2016-10-04 4 views
0

Я triying для передачи данных из формы в контроллер в codeigniter ... но когда я хочу распечатать таблицу с результатами ... я получаю null в каждой строке таблицы. Вот мой код:Codeigniter form serialize not working

ФОРМА

<form class="col s12" id="update_form" name="update_form" method="post" > 
     <div class="row"> 
     <div class="input-field col s6"> 
      <input id="update_name" type="text" name="name" class="validate"> 
      <label for="first_name">Nombre</label> 
     </div> 
     <div class="input-field col s6"> 
      <input id="update_last_name" name="lastname" type="text" class="validate"> 
      <label for="last_name">Apellido</label> 
     </div> 
     </div> 
     <div class="row"> 
     <div class="input-field col s6"> 
      <input id="update_side" type="text" name="side" class="validate"> 
      <label for="partido">Partido</label> 
     </div> 
     <div class="input-field col s6"> 
      <input id="update_charge" type="text" name="charge" class="validate"> 
      <label for="cargo">Cargo</label> 
     </div> 
     </div> 
     <div class="row"> 
      <div class="input-field col s6"> 
       <div class="file-field input-field no-margin-top"> 
        <div class="btn light-blue darken-4"> 
        <span>Animación</span> 
        <input type="file"> 
        </div> 
        <div class="file-path-wrapper"> 
        <input class="file-path validate" name="animation" type="text"> 
        </div> 
       </div> 
      </div> 

      <div class="input-field col s6"> 
      <select id="update_section" name="section" autocomplete="off"> 
       <option value="" disabled selected>Seleccione una opción</option> 
       <option value="1">Presidencia</option> 
       <option value="2">Senadores</option> 
       <option value="3">Diputados</option> 
      </select> 
      <label>Sección</label> 
      </div> 
     </div> 
     <input type="hidden" name="update_politic_hide" id="update_politic_hdn" value=""> 
    </form> 

Jquery

$("#update_politic_btn").click(function(event) { 
    /* Act on the event */ 

    var chango = $("#update_form").serialize(); 
    alert(chango); 
    $.post(baseurl + 'admin/update_politic', { 
      data: chango 
     }, 
     function(data) { 
      console.log(data); 
      list_politic(); 
     }); 
    event.preventDefault(); 
}); 

Контроллер

public function update_politic(){ 

    if ($this->input->is_ajax_request()) { 


    $params["name"] = $this->input->post("name"); 
    $params["lastname"] = $this->input->post("lastname"); 
    $params["side"] = $this->input->post("side"); 
    $params["charge"] = $this->input->post("charge"); 
    $params["animation"] = $this->input->post("animation"); 
    $params["section"] = $this->input->post("section"); 
    $params["id"] = $this->input->post("update_politic_hide"); 

    if ($params["section"]=="Presidencia") { 
     $params["section"]=1; 
    } 

    if ($params["section"]=="Senadores") { 
     $params["section"]=2; 
    } 

    if ($params["section"]=="Diputados") { 
     $params["section"]=3; 
    } 

    $this->load->model("politic"); 
    $this->politic->update($params); 
} 
} 

МОДЕЛЬ

public function update($param){ 

    $id = $param["id"]; 
    $values = array(

        "POLITIC_NAME" => $param["name"], 
        "POLITIC_LASTNAME" => $param["lastname"], 
        "POLITIC_SIDE" => $param["side"], 
        "POLITIC_CHARGE" => $param["charge"], 
        //"animation" => $param["animation"], 
        "SECTION_ID" => $param["section"], 
        ); 


    $this->db->update("politics",$values); 
    $this->db->where("POLITIC_ID",$id); 
} 

ПОМОЩЬ !!! Я не понимаю, почему я получаю нулевые значения, когда хочу распечатать результаты!

+0

что вы вернуться в свой АЯКС вызов? – madalinivascu

+0

Вы получаете значения в 'alert (chango);'? – Akshay

+0

@BarneyStinson Yeah ... все значения правы в этот момент ... –

ответ

0

Ваше состояние, где должно прийти первым, как,

public function update($param){ 
    $id = $param["id"]; 
    $values = array(
     "POLITIC_NAME" => $param["name"], 
     "POLITIC_LASTNAME" => $param["lastname"], 
     "POLITIC_SIDE" => $param["side"], 
     "POLITIC_CHARGE" => $param["charge"], 
     //"animation" => $param["animation"], 
     "SECTION_ID" => $param["section"], 
    ); 
    $this->db->where("POLITIC_ID",$id); 
    $this->db->update("politics",$values); 
} 

И показать нам свой list_politic(); код, если он не работает.

Я думаю, что вы передаете данные в неправильном пути, если вы используете serialize() затем использовать его непосредственно в $.post как,

$.post(baseurl + 'admin/update_politic',chango,function(data) { 
    console.log(data); 
    list_politic(); 
}); 
+0

list_politic - это функция, которая загружает контент из таблицы из базы данных ... она отлично работает! ... и я пробую ваш ответ и все еще получаю ту же нулевую ошибку –

+0

Я думаю, что данные не переданы должным образом, попробуйте мой обновленный ответ. –

+0

YEAAH !!! оно работает!! ... это была проблема !! спасибо человеку, которого вы заслуживаете грамматикой! haha –