2011-02-09 7 views
0

私は合計3つの列を持つJQGridを持っており、フレームワークcakephpを使用してテーブルを作成しています。列の1つはid(編集不可能)です。他の2つはファーストネームとラストネームです。 mysqlデータベースからレコードを読み込み/追加/削除しています。しかし、JQgridでセルを編集すると、編集中のセルに変更が保存されますが、他のセルからデータが消去されます。JQGridとCakePHP

たとえば、idが1のレコードがある場合、bobのファーストネームとjohnのラストネームがあります。私は姓を編集して、それをスミスに変えます。レコードには1 Bob Smithが表示されます。ページを更新すると、レコードは「1」「スミス」と表示されます。何か案は?私のコントローラでindexeditのための私のコードは次のようである(事前にお願いします):

function indexedit() 
     {   

      //$this->layout= 'empty'; 
      $this->autoRender = false; 
      $action = $this->params["form"]["oper"]; 
        if($action=="edit") 
        { 
         $id=$this->params["form"]["id"];  
         $fName = $this->params["form"]["firstname"]; 
         $lName = $this->params["form"]["lastname"]; 
         $this->Apple->save(Array("id"=>$id,"firstname"=>$fName,"lastname"=>$lName),null); 

        } 

        if($action=="del") 
        { 

         $id=$this->params["form"]["id"]; 

         //For Multiple Deletion 
         $exploded_id = explode(',', $id); 

         for($i=0;$i<sizeof($exploded_id);$i++) 
         { 
          $this->Apple->delete($exploded_id[$i]); 


         // $fileDir = WWW_ROOT .'img/newsroom/press/'.$id; 
         // $this->removeFolder($fileDir); 


         } 
         //For Multiple Deletion 


         //single deletion : 
         //$this->Apple->delete($id);   

        } 

        if($action =="add") 
        { 
         $fName = $this->params["form"]["firstname"]; 
         $lName = $this->params["form"]["lastname"]; 

         $this->Apple->save(Array("firstname"=>$fName,"lastname"=>$lName),null,null);        
        } 

答えて

0

だけの思考:save()文の前に$this->Apple->create();を入れてみてください。

+0

さて、残りのアクションコードとおそらく適切なビットのビューを投稿する必要があります。 – Leo

+0

そのcreate文を実行することは中止です。それでもまったく同じ結果が得られます。 –