2017-04-12 16 views
0

私は2つのテーブルgoals,goalscoreを持っています。2つのテーブルにSQLの外部キーの関係でデータを挿入する方法

goals table fields(GoalId,UserId,GoalName,StartDate,EndDate). 

GoalId主キー(自動インクリメント)あります。

goalscoreテーブルで

(GoalScoreId, GoalId, GoalExpected,GoalAchieve, Score)

GoalScoreId(primarykey(auto increment)) GoalId(foreign Key from goals) 

今、私はテーブルの両方に同じフォームからのデータを挿入します。 最初の目標テーブルとそのテーブルから私はGoalIdを取得したい、それに応じて同じ目標の関連データをgoalscoreテーブルに挿入する必要があります。

時にはforループを使用して複数のデータをテーブルに挿入しています。最後に私が取ることができないIDを挿入する。オプションはありますか?

解決策を見つけるのを手伝ってください。

コードは、あなたがMySQLで、この目的のために機能last_inserted_idを使用することができます

public function AddNewGoal(){ 
$userid=$this->session->userdata['loggedin']['userId']; 

$Cdate=date('Y-m-d'); 
$Ldate=date('Y-m-d'); 
$date = $this->input->post('sdate'); 
//$freq = $this->input->post('frequency'); 
$freq= 1; 
$kpiId= $this->input->post('kpiname'); 
$goal = $this->input->post('Goal'); 
$goaltype = $this->input->post('goaltype'); 
$targetscore = $this->input->post('target'); 

$yearEnd = date('Y-m-d', strtotime('12/31')); 
//echo $yearEnd; exit(); 


$mnth= date('m', strtotime('-1 month')); 
$m = 12- $mnth; 
$q = 12-$mnth; 

If($freq==1){ 
    $i=1; 
    While ($i<= $m) 
    { 
     $query = $this->db->query('INSERT INTO goals 
     (UserId,KPITTemplateItemId,GoalTypeId,GoalStatusId,GoalDesc,StartDate,EndDate,CreatedOn,CreatedBy,LastModifiedOn,LastModifiedBy) 
     VALUES 
     (180,1,1,4,"goal","'.$date.'","'.$date.'","'.$date.'","'.$userid.'","'.$date.'","'.$userid.'")'); 
     $i++; 



    } 



} 
else if($freq==2){ 



} 
else if($freq==3){ 



} 
else if($freq==4){ 




} 
else if($freq==5){ 

    $query = $this->db->query('INSERT INTO goals 
     (UserId,KPITTemplateItemId,GoalTypeId,GoalStatusId,GoalDesc,StartDate,EndDate,CreatedOn,CreatedBy,LastModifiedOn,LastModifiedBy) 
     VALUES 
     (180,1,1,4,"goal","'.$date.'","'.$date.'","'.$date.'","'.$userid.'","'.$date.'","'.$userid.'")'); 


} 

if($this->db->affected_rows() > 0){ 
    return true; 
}else{ 
    return false; 
} 

}

+0

最初に回答を検索しようとしましたか?これは何度も答えられた基本的なものです。最初に検索してからもう一度お試しください。 – Difster

+0

あなたのコードはどこですか? これらはすべて基本的なものです。ここで何かを試してみると – anuraj

+0

私は試しました。しかし、単一のデータを挿入する場合は、最後に挿入されたIDを使用できます。私の条件では、目標の頻度に基づいて同じデータを複数回挿入しています –

答えて

0

与えられています。

関連する問題