0

異なる 2 つのテーブルから Users_height と users_weight を取得して、ユーザーの BMI を計算する必要があります。

ここに2つのテーブルがあります( http://i.stack.imgur.com/eOQs4.gif ) & ( http://i.stack.imgur.com/liqhH.gif )

望ましい出力

  weight_pounds    height_cm 
     121.25           130
     132.28           160
     154.32           221
     176.37           434

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

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

この機能を試しましたが、エラーが表示されます:

 function get_all_user_bmi($uid) 
{ 
    $this->load->database(); 
    $this->db->select('w.weight_pounds','h.height_cm');
    $res = $this->db->order_by('w.uweight_id', 'ASC')->order_by('h.height_id', 'ASC')
            ->get_where('user_weight w',array('w.creater_id'=>$uid))
            ->get_where('user_height h',array('w.creater_id'=>$uid))
            ;
    $ret = array();

    foreach ($res->result_array() as $row) {
        $weight=$row['w.weight_pounds']* 4.88;
        $height=($row['h.height_cm']*0.032808)*($row['h.height_cm']*0.032808);  
        $bmi=$weight/$height;
        $ret[] = $bmi;  //final bmi formuala calculated
    }

    return $ret;
}  

エラーは次のとおりです。

 A Database Error Occurred

Error Number: 1054

Unknown column 'h.height_id' in 'order clause'

SELECT `w`.`weight_pounds` FROM (`user_weight` w) WHERE `w`.`creater_id` = '3235' ORDER BY `w`.`uweight_id` ASC, `h`.`height_id` ASC

Filename: D:\xampp\htdocs\webapp\system\database\DB_driver.php

Line Number: 330

誰かがここで私を助けてくれることを願っています...

アップデート

same_id要件を満たすために両方の列に余分な列を追加し$this->db->join('user_height h' ,'w.same_id = h.same_id'); 、このコードを追加しました。現在は正常に動作しています

4

2 に答える 2