2016-04-15 23 views
1

codeigniterを使用して入力データをデータベースに挿入するコードを作成しましたが、挿入する前にif文を実行して入力を確認し、条件が満たされた場合にデータを保存します。if文を使用してデータベースにデータを挿入

入力データがセクションに等しいかどうかをチェックしようとしましたが、親IDは0でなければなりません。セクションでなければ、入力した$ data ['type']をデータベースに挿入し、親IDを0 これはこれまでの私のコードです。あなたがあなたのコード

$data = array (
    'title' => $this->input->post('title'), 
    'type' => $this->input->post('type'), 
    'description' => $this->input->post('description'), 
    'parent_id' => ($this->input->post('parent_id') == 'section') ? 0 : $this->input->post('parent_id'); 
); 
$result = $this->checklist_item_model->put_item($data); 

そして、モデルあなたでを簡素化するために三項演算子を使用することができます

if($this->input->post('type')=='section') 
{ 
$data = array(
'title' => $this->input->post('title'), 
'type' => $this->input->post('type'), 
'description' => $this->input->post('description'), 
'parent_id' => 0// if section==0 condition 
); 
} else { 
    $data = array(
    'title' => $this->input->post('title'), 
    'type' => $this->input->post('type'), 
    'description' => $this->input->post('description'), 
    'parent_id' => $this->input->post('parent_id') 
    ); 
} 

$result = $this->checklist_item_model->put_item($data); 
+0

あなたの挿入クエリまたはモデルコードはどこですか? – Saty

+0

上記コードを編集しました – claudios

答えて

1

最後の挿入IDを返すことができますこのように

public function put_item ($data) { 
    $this->db->insert('items', $data); 
    return $this->db->insert_id(); 
} 
+0

予期しない '('、識別子(T_STRING)または変数(T_VARIABLE)または '{'または '$'を予期していません) – claudios

+0

AHHH !!私の悪い削除 ' - > 'ポスト!更新された答えを確認してください!! – Saty

+0

コードが実行されましたが、同じエラーが出ました。セクション入力を挿入するだけです – claudios

1

などの条件あなたを作成することができます

$data = array (
'title' => $this->input->post->('title'), 
'type' => $this->input->post->('type'), 
'description' => $this->input->post->('description') 
); 


if ($data['type'] == 'section') { 
     $data['parent_id'] = 0; 
     } else { 
     $data['parent_id'] = $this->input->post('parent_id'); 
     $data['type'] = $this->input->post('type'); 
     } 
$result = $this->checklist_item_model->put_item($data); 

モデル

public function put_item ($data) { 
    $this->db->insert('items', $data); 
} 
+0

私はこの1つを試してみます – claudios

+0

これも役に立ちます。 if else条件の短いタイプのみ。 – claudios

+0

あなたの解決策は良いと効率的です。投稿後に ' - >'を文法エラーフリーにするだけです。 – Saty

関連する問題