【问题标题】:Use Equation Variable in Codeiginiter在 Codeigniter 中使用方程变量
【发布时间】:2017-06-14 07:44:25
【问题描述】:

大家好,我尝试在 Codeigniter 上使用变量方程,如下面的代码所示,我的代码编写是否正确?到目前为止,这是我的代码,我想在我的控制器中使用变量 $amount

在控制器中

$amount = $this->m_data->getTotalSales->$data['TOTAL_SALES'];

模型中的这个

//GET TOTAL REVENUE
function getTotalSales(){ 
$this->db->select("(SELECT SUM(grand_total) FROM sales_order WHERE member = ".$this->session->userdata('ID').") - (SELECT SUM(amount) FROM payment WHERE member_id = ".$this->session->userdata('ID').")  AS total_sales");

$query = $this->db->get(); 
    if ($query->num_rows() >0){ 
        foreach ($query->result() as $data) {

            $hasilSemua[] = $data;
        }
    return $hasilSemua; 
    }
}

【问题讨论】:

  • 不正确的兄弟
  • 哪里部分不正确?
  • 你要统计结果吗?
  • yups 在 Model 中计算结果后,我想在控制器中将其用作变量 $amount...
  • 回答更新检查

标签: php mysql codeigniter


【解决方案1】:
$amount = $this->m_data->getTotalSales();

function getTotalSales(){ 

        $result1 = $this->db->select_sum("grand_total")
                           ->from('sales_order')
                           ->where("member = $this->session->userdata('ID')");
                           ->get();


        $result2 = $this->db->select_sum("amount")
                            ->from('payment')
                            ->where("member_id = $this->session->userdata('ID')")
                            ->get();    

        return $result1->row()-$result2->row(); 
    }
}

【讨论】:

  • 我想在我在 Model 中进行的查询中使用结果“total_sales”
【解决方案2】:

我相信这就是你所追求的。请注意,我将 UserID 作为第二个参数传递给 WHERE 函数。这是为了以防用户有任何机会输入它(无论如何总是要这样做)。

//GET TOTAL REVENUE
function getTotalSales(){ 
$db = $this->db;

    $db->select('SUM(grand_total)');
    $db->where('member',$this->session->userdata('ID'));
    $q1 = $db->get_compiled_select('sales_order');

    $db->select('SUM(amount)');
    $db->where('member_id',$this->session->userdata('ID'));
    $q2 = $db->get_compiled_select('payment');

    $query = $db->query("SELECT ($q1) - ($q2) as total_sales");
    $data = $query->row_array();

return $data['total_sales']; 
}

然后您可以致电$amount = $this->m_data->getTotalSales; 获取结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多