[Codeigniter-users] 編集について

Back to archive index

牧尾竜一 ryuic****@jom*****
2008年 7月 11日 (金) 11:03:37 JST


JOMRです。


> これがあるのでDataはいらないんじゃないのかなぁ。
> SETをせず、
> $data['cu_name']	= $row->cu_name;
> $data['cu_kana']	= $row->cu_kana;
> $data['cu_tel']		= $row->cu_tel;
> $data['cu_fax']		= $row->cu_fax;
> $data['cu_mail']	= $row->cu_mail;
> $data['biko']		= $row->biko;
> $data['datetime']	= $row->datetime;

ここをPOSTされてきた値を入れるようにすればいいのかと思い
$data['cu_name']	= $_POST['cu_name'];
としたところエラーになってしまいました。
edit_confirmからPOSTされてきたcu_nameをとるには上記のようにしても駄目な
のでしょうか?


> これをよく見てみるとですね。
> cu_idでデータを取り出して、
> でWHEREでまたcu_idを指定してUPDATEだから、
> 中身はかきかわらないですよね?
> テーブルの内容をセットしているので、同じデータになりますね。



>> JOMRです。
>>
>>> こんにちは。
>>> $this->db->update('customer', $data, $cu_id);
>>> この部分ですが、
>>> $where "`cu_id` = " . $cu_id;
>>> とするか
>> ここが少し理解しづらかったので
>> $this->db->update('customer', $data, array('cu_id' => $cu_id));
>> と置き替えてみたら編集完了画面に移るんですが内容は編集されませんでした。
>>
>>
>>> もう一度SETの後に
>>> $this->db->where('cu_id', $cu_id);
>>> を走らせるかですかね。
>> SETの次の行に追加したのですがエラー内容は同じでした。
>>
>>
>>
>> JOMRです。
>>>> Kenjiさんお世話になります。
>>>>
>>>>
>>>>>> 前回に引き続きデータ編集できるメソッドを作成しました。
>>>>>> ただこれだと、editにいくと「 レコードを更新するには、"set" メソッドを使
>>>>>> う必要があります。 」といったエラーになってしまいます。
>>>>> update()メソッドに更新データが渡されていません。
>>>>>
>>>>> $this->db->update('customer');
>>>>>
>>>>> 『徹底入門』ですと、p.429 を参照願います。
>>>> 以下のようにしたのですが
>>>> 「 Unknown column '42' in 'where clause'
>>>>
>>>> UPDATE `customer` SET `cu_name` = 'test', `cu_kana` = NULL, `cu_tel` =
>>>> NULL, `cu_fax` = NULL, `cu_mail` = NULL, `biko` = NULL, `datetime` =
>>>> '2008-07-09 20:50:58' WHERE `42` IS NULL 」
>>>>
>>>> といったエラーになってしまいました。
>>>>
>>>> 	function edit($cu_id = '')
>>>> 	{
>>>> 		$cu_id = (int) $cu_id;
>>>> 		$edit = (int) $this->input->post('edit');
>>>> 		$this->db->where('cu_id', $cu_id);
>>>> 		
>>>> 		if ($edit == 1)
>>>> 		{
>>>> 			$this->db->where('cu_id', $cu_id);
>>>> 			$query = $this->db->get('customer');
>>>> 			$row = $query->row();
>>>> 		
>>>> 			$cu_id		= $row->cu_id;
>>>> 			$cu_name	= $row->cu_name;
>>>> 			$cu_kana	= $row->cu_kana;
>>>> 			$cu_tel		= $row->cu_tel;
>>>> 			$cu_fax		= $row->cu_fax;
>>>> 			$cu_mail	= $row->cu_mail;
>>>> 			$biko		= $row->biko;
>>>> 			$datetime	= $row->datetime;
>>>> 			
>>>> 			$data['cu_name']	= $row->cu_name;
>>>> 			$data['cu_kana']	= $row->cu_kana;
>>>> 			$data['cu_tel']		= $row->cu_tel;
>>>> 			$data['cu_fax']		= $row->cu_fax;
>>>> 			$data['cu_mail']	= $row->cu_mail;
>>>> 			$data['biko']		= $row->biko;
>>>> 			$data['datetime']	= $row->datetime;
>>>> 			
>>>> 			$this->db->set('cu_name', $cu_name);
>>>> 			$this->db->set('cu_kana', $cu_kana);
>>>> 			$this->db->set('cu_tel', $cu_tel);
>>>> 			$this->db->set('cu_fax', $cu_fax);
>>>> 			$this->db->set('cu_mail', $cu_mail);
>>>> 			$this->db->set('biko', $biko);
>>>> 			
>>>> 			$this->db->update('customer', $data, $cu_id);
>>>> 			$this->load->view('customer_edit_finished');
>>>> 		}
>>>> 		else
>>>> 		{
>>>> 			$this->load->view('customer_edit_confirm', $data);
>>>> 		}
>>>> 	}
>>>>
>>>> 直訳すると未知のエラーとなっているのですがさっぱりです。
>>>> 何がおかしいのでしょうか?
>>> _______________________________________________
>>> Codeigniter-users mailing list
>>> Codei****@lists*****
>>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>>>
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG - http://www.grisoft.jp 
>>> Version: 8.0.138 / Virus Database: 270.4.7/1545 - Release Date: 2008/07/10 
>>> 18:43
>>>
>>>
>>>
>> _______________________________________________
>> Codeigniter-users mailing list
>> Codei****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> 
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> 
> 
> No virus found in this incoming message.
> Checked by AVG - http://www.grisoft.jp 
> Version: 8.0.138 / Virus Database: 270.4.7/1545 - Release Date: 2008/07/10 18:43
> 
> 
> 




Codeigniter-users メーリングリストの案内
Back to archive index