誰でも、単一のフォーム(ビュー)を作成するコントローラ、モデル、およびビューの作成に役立つことができます。 idかどうか、それに応じて同じものを挿入して更新するかどうかによって決まります。Codeigniterを使用して同じフォームからデータを挿入および更新する方法
答えて
基本的には、データベースに隠されたIDが存在するかどうかをチェックするだけです。それがなければinsert
、あなたならupdate
です。一般に、これはあなたがそれを行う方法です。
<?php
class some_controller extends CI_Controller {
/**
* Submits the form
*
* @return boolean
*/
public function submit_form() {
$id = $this->input->post('id');
$data = array(
'somedata' => $this->input->post('somedata'),
'someotherdata' => $this->input->post('someotherdata')
);
$this->load->model('some_model');
if (!is_null($id) && $this->some_model->id_exists($id)) {
return $this->db->update('sometable', array('id' => $id), $data);
} else {
// assumes sometable autoincrements id
// otherwise $data = array_merge(array('id' => $id), $data);
return $this->db->insert('sometable', $data);
}
}
}
class some_model extends CI_Model {
/**
* Checks if id exists in sometable
*
* @return boolean TRUE if item with $id exists in sometable
*/
public function id_exists($id) {
$this->db->where('id', $id);
return $this->db->count_all_results('sometable') > 0;
}
}
ご注意:良い練習がモデルに(実際にはすべてのクエリ)の挿入および更新を移動するためのを呼び出します。これは単なる例です。
そのIDに関して既に詳細がある場合は、入力名を表示する方法。 @Alexを編集するとき –
Hey there、あなたはすでにそれらの詳細を持っている場合、入力フィールドにどのように入力するのですか?あなたはすべてのフィールド 'isset($ _ POST ['field_name'])に対して行うことができますか? $ _POST ['field_name']:$ row-> field_name'なので、フィールド名が '$ _POST'データから出ていれば、データベースから' $ field_name'を表示します。これには、ページをロードする前にデータベースからフィールドを取得する必要があります。しかし、それはあなたがそれがアップデートだと確信しているなら、あなたがやりたいことだけになります! – Alex
私は三項演算@Alexを忘れてしまった –
- 1. Ecto:put_assocを使用して1つの更新でアソシエーションを更新および挿入する方法
- 2. Vueリソース(挿入と更新に同じフォームを使用)
- 3. CodeIgniterとAngularJSを使用してフォームから値を挿入する方法は?
- 4. Codeigniterを使用した挿入/更新
- 5. Luigiを使用してデータを更新および削除する方法は?
- 6. Codeigniter:フォームを編集してフォームを挿入すると、同じ検証を使用できますか?
- 7. codeigniterのセッションを使用してデータを更新する方法
- 8. Laravel 5.2を使用して同じメソッドでテーブル行を追加および更新する方法
- 9. 同じ入力名のフォーム入力をcodeigniterを使用してデータベース行に挿入します
- 10. 同じページ内のデータを取得して更新するCodeIgniter
- 11. Entity FrameworkおよびASP.NET動的データのカスタム挿入/更新
- 12. codeigniterを使用してmysqlデータベースにフォーム値を挿入する方法
- 13. PostgreSQL:値をアンダースコアで挿入、選択、および更新する方法
- 14. Entity Frameworkを使用してデータを挿入および削除する問題
- 15. データベースに接続してデータを挿入および取得する方法は?
- 16. 静的および動的データをMySQLデータベースにPHPフォームから1つのサブミッションで挿入する方法
- 17. StreamingAssetsからデータベースを選択、挿入、削除、および更新する
- 18. codeigniterでajaxを使用してデータベースに配列データを挿入する方法
- 19. PHP&SQL:テーブルを挿入および更新する機能が
- 20. データを挿入するために同じクエリを使用する方法
- 21. jqueryとajaxを使用して同じレコードが挿入されたときにテーブルを更新する方法
- 22. ポストグルでデータを更新して挿入する方法
- 23. PHPを使用してMYSQLからイメージBLOBを挿入および取得する方法は?
- 24. C#を使用してPostgreSQLから画像を挿入および取得する方法
- 25. .net webserviceを使用してサーバーに直接データを挿入および取得する方法
- 26. ローカルストレージのデータを編集および更新する方法は?
- 27. codeigniterを使用してデータベースにデータを挿入する
- 28. 同時にデータをデータベースに挿入して更新する
- 29. Ajax、PHP、MySqlを使用して同じページにフォームを更新
- 30. Excelからデータベースに同じデータを挿入するのを避ける方法
https://www.codeigniter.com/userguide3/tutorial/index.htmlチュートリアルを実行すると、そのプロセスの仕組みを理解できるはずです。 – sintakonte
実際に私は多くの編集更新を使用していますが、同じフォームのために私はガイドを使用していますが、@ sintakonteを取得していません –
これまでに何を書いていますか? – TimBrownlaw