我正在開發使用codeigniter框架開發的硬件商店的銷售點。如何從Mysql和Codeigniter中的兩個表中獲取數據
我想拿出帳戶的詳細陳述就像下面的圖片
我有兩個表這是銷售和支付,我想從這個兩個表的數據,以便我可以生成特定客戶的賬戶報表。
這樣做會有所幫助,因爲客戶可以以現金或信用爲基礎查看他/她購買的所有物品,並顯示他們已按日期分組了多少錢。
也可以計算到期金額。
我可以通過使用下面的代碼單獨列出(銷售和付款),從而計算到期金額。
銷售
<?php
$salestotal = 0;
if (is_array($sales) || is_object($sales))
{
foreach ($sales as $key=>$sale): {?>
<tr>
<td>
<?php echo $sale->date; ?>
</td>
<td>
<?php echo $sale->id; ?>
</td>
<td>
<?php echo $sale->grand_total; ?>
</td>
<td>
<?php echo $sale->paid; ?>
</td>
<td></td>
</tr>
<?php
if(isset($sale->grand_total))
$salestotal += $sale->grand_total;
} endforeach ; }?>
付款
<?php
$paymentstotal = 0;
if (is_array($payments) || is_object($payments))
{
foreach ($payments as $key=>$payment): {?>
<tr>
<td>
<?php echo $payment->date; ?>
</td>
<td class="text-center">
<?php echo $payment->sale_id; ?>
</td>
<td class="text-center">
<?php echo $payment->paid_by; ?>
</td>
<td class="text-center">
<?php echo $payment->cheque_no; ?>
</td>
<td class="text-center">
<?php echo $payment->amount; ?>
</td>
<td class="text-center">
<?php echo $this->customers_model->getUserna($payment->created_by); ?>
</td>
<td class="text-center">
<?php echo $payment->pos_paid; ?>
</td>
<td class="text-center">
<?php echo $payment->pos_balance; ?>
</td>
<td class="text-right">
<?php echo $this->customers_model->getStorename($payment->store_id); ?>
</td>
</tr>
<?php
if(isset($payment->amount))
$paymentstotal += $payment->amount;
} endforeach ;}?>
我控制器
function statement($id = NULL)
{
if (!$this->Admin) {
$this->session->set_flashdata('error', $this->lang->line('access_denied'));
redirect('pos');
}
if($this->input->get('id')) { $id = $this->input->get('id', TRUE); }
$this->data['sales'] = $this->customers_model->getSales($id);
$this->data['payments'] = $this->customers_model->getPayments($id);
$this->data['customer'] = $this->customers_model->getCustomername($id);
$this->data['customer_id'] = $id;
$this->page_cons('customers/statement', $this->data);
}
我的模型
public function getSales($id)
{
$q = $this->db->get_where('sales', array('customer_id' => $id));
if($q->num_rows() > 0) {
return $q->result();
}
return FALSE;
}
public function getPayments($id)
{
$q = $this->db->get_where('payments', array('customer_id' => $id));
if($q->num_rows() > 0) {
return $q->result();
}
return FALSE;
}
如何合併這兩個表?
我希望我對這個問題已經夠清楚了,我一直在努力Google,但我沒有運氣。
我會很感激任何幫助。由於
編輯
MySQL表
付款
更新'sales' ANB'payments'表的結構問題。 –
@TouheedKhan,我用Mysql表更新了我的問題 – kikuyu1