如何使用Codeiginter在何处条件下将一个查询结果赋予另一个查询?

时间:2018-12-24 05:11:21

标签: php model-view-controller

我正在使用tieup_receipt数据库中的凭证编号(值自动增加)保存数据库。在该页面中,我正在使用Ac.no,也使用ajax查询来查询Ac.no。当我输入存储在tipup_payment数据库中的Ac.no时,不会检索到任何详细信息。

现在我的问题是在编辑过程中,我正在使用凭证编号从tieup_receipt数据库中获取数据,所有详细信息都已获取,但我也希望使用acno作为输入从tipup_payment数据库中获取acno详细信息。

我想在一个条件下将一个查询的结果提供给另一个查询。

enter image description here

这是从tipup_receipt获取详细信息的图像。 空号的详细信息将被清空,例如聚会名称,借项,借项,到期金额。

 public function getReceiptEntry(){
  $Code = $this->input->post('Code');
   $this->db->where('TVAcNo', $Code);
    $query = $this->db->get('tipup_receipt');
   // return $query->result_array();
   return $query->row();

}

这是用于获取tipup_receipt的模型代码。

    public function getdetails(){

    $TAcNo = $this->input->post('Code');




     $this->db-> select('TRAcNo');
  $this->db-> from('tipup_receipt');
   $this->db->where('TVAcNo', $TAcNo);
    $query =  $this->db->get();

    print_r($query);

$query_result  = $this->db->query("SELECT * FROM `tipup_payment` where `TAcNo` = `$query`  ");
     return $query_result->row();
}

这是在where条件下一个查询到另一个查询的结果的模型代码。

2 个答案:

答案 0 :(得分:0)

尝试使用内部联接。

假定帐号。都存在于表格和凭证编号中在tieup_receipt中,查询为:

SELECT tr.*,tp.* 
FROM tieup_receipt AS tr 
INNER JOIN tieup_payment AS tp 
ON tr.TAcNo=tp.TAcNo 
WHERE tr.voucher_no=$your_variable.

我希望这对您有帮助

答案 1 :(得分:0)

如果您使用的是CI模型函数,而不是使用以下代码:

    $this->db->select('*');
    $this->db->from('tipup_payment');        
    $this->db->where('TAcNo = select TRAcNo from tipup_receipt where TVAcNo = "'.$TAcNo.'"');
    $query = $this->db->get();
    return $query->result();