-1

以下に示すように、2 つのテーブルを結合して結果を取得しようとしていますが、現在、希望どおりの出力が得られません。

望ましい出力

  weight_pounds    height_cm 
     121.25           130
     132.28           160
     154.32           221
     176.37           434

私は2つのテーブルを持っており、各テーブルにはforeign_key列がありますcreater_id

user_weight テーブル ここに画像の説明を入力

user_height テーブル ここに画像の説明を入力

私はこの機能を試しましたが、間違った出力を示しています:

function get_all_user_bmi($uid) 
{ 
  $this->load->database(); 
  $this->db->select('w.weight_pounds, h.height_cm');
  $this->db->from('user_weight w');
  $this->db->join('user_height h' ,'w.creater_id = h.creater_id');
  $this->db->where('w.creater_id',$uid); 
  $this->db->where('h.creater_id',$uid); 

  $this->db->group_by(array('h.height_id')); 
  $this->db->order_by('w.uweight_id', 'ASC')->order_by('h.height_id', 'ASC'); 
   //$this->db->group_by('h.height_id','w.uweight_id'); 
  $this->db->distinct();
  $res = $this->db->get(); 
    $ret = array(); 
     foreach ($res->result_array() as $row) {
    $weight=$row['weight_pounds']* 4.88;
    $height=($row['height_cm']*0.032808)*($row['height_cm']*0.032808);  
    $bmi=$weight/$height;
    $ret[] = $bmi;  //final bmi formuala calculated

}
 print($this->db->last_query());
    return $ret;
}  

上記のphpコードを実行して、異なる出力(正しくない)を取得する

ここに画像の説明を入力

4

1 に答える 1