2016-10-04 3 views
0

codeigniterのフォームからコントローラへのデータの受け渡しをトライアングしていますが、結果を含むテーブルを印刷するときに...テーブルのすべての行でnullが返されます。ここに私のコードです:Codeigniterフォームのシリアル化が機能しない

FORM

<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); 
} 
} 

MODEL

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); 
} 

HELP !!!私はなぜ私は印刷結果をしたいのnull値を得ているunderstanしていない!

+0

、あなたは間違った方法でデータを渡していると思いますか? – madalinivascu

+0

あなたは 'alert(chango);'の値を取得していますか? – Akshay

+0

@BarneyStinsonええと...すべての値はこの時点で正しいです... –

答えて

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でそれを使用使用している場合

私はあなたのAJAX呼び出しに戻っているか

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

list_politicはデータベースからテーブルのコンテンツを読み込む関数です。完璧に動作します! ...と私はあなたの答えを試して、まだ同じnullエラーを取得 –

+0

私はデータが正しく渡されないと思う、私の更新された答えを試してみてください。 –

+0

YEAAH !!!できます!! ...それが問題でした!感謝の男は文法に値する! haha –

関連する問題