【发布时间】:2018-01-29 18:52:31
【问题描述】:
此问题基于下表。
procedures - id | procedure_name |cost
visits - id | visit_date | patient_id | notes | staff_id
visits_procedures - id | visit_id | procedure_id | quantity
payments - id | visit_id | payment_date | amount | payment_method_id | transanction_id | payment_status_id
付款表根据执行的程序数量记录在访问期间支付的总金额。 visits_procedures 表跟踪访问期间执行的程序数。在创建新付款时,我正在尝试使用模型中 get_visit_amount() 函数返回的值填充金额文本框。但是我收到错误“未定义的变量:数量”。我将不胜感激有关如何使这项工作的任何想法。下面是我的代码 sn-ps。
支付模式
public function get_visit_amount(){
$this->db->select_max('id');
$result= $this->db->get('visits')->row_array();
$answer = $result['id'];
$this->db->select('sum(procedures.cost * visits_procedures.quantity) as amount, visits_procedures.visit_id');
$this->db->from('procedures');
$this->db->join('visits_procedures', 'visits_procedures.procedure_id = procedures.id', 'left');
$this->db->where('visits_procedures.visit_id', $answer);
$query = $this->db->get()->row_array();
return $query['amount'];
}
付款控制器
public function create() {
if ($this->input->post('payment_method_id')) {
$data['visit_id'] = $this->visit->get_latest_id();
$data['payment_date'] = date('Y-m-d H:i:s');
$data['amount'] = $this->payment->get_visit_amount();
$data['payment_method_id'] = $this->input->post('payment_method_id');
$data['transaction_id'] = $this->input->post('transaction_id');
$data['payment_status_id'] = $this->input->post('payment_status_id');
//set flash data
$this->session->set_flashdata('display_amount', $amount);
redirect('/admin/payments/create');
$this->payment->insert($data);
redirect('/admin/payments', 'refresh');
}
.
.// code to load page
.
}
Payments_create 视图
<form class="form-horizontal" role="form" method="POST" action="<?=base_url()?>admin/payments/create">
.
.//code
.
<div class="form-group">
<label class="col-md-3 col-xs-12 control-label">Amount</label>
<div class="col-md-6 col-xs-12">
<div class="input-group">
<span class="input-group-addon"><span class="fa fa-pencil"></span></span>
<input type="text" class="form-control" id="amount" name="amount" value="<?php echo $this->session->flashdata('display_amount'); ?>"/>
</div>
</div>
</div>
.
.//code
.
</form>
【问题讨论】:
标签: php codeigniter mysqli