Num*_*let 6 php mysql sql codeigniter
这是我的 Codeigniter 项目,我制作了一个书店功能,它计算每个条目中图书的进出量和销售量,然后减去售价,并给出我目前每本书的数量。
输入“0”=我收到的金额
否则就是我花的钱
我现在想要做的是我想获取我在 date1 和 date2 之间收到的总金额,它应该类似于 date1 的“get_book_amount” -(减去)来自 date2 的“get_book_amount”。
等式是这样的:
在 Date1 上,我收到的总金额是 100,在 Date2 上是 300。所以在那段时间里增加的总金额是“200”,这是我想要得到的数字。
我怎样才能做到这一点?
public function bookshop($date1,$date2)
{
$total_books = 0;
$books = '';
$this->db->select("*");
$this->db->from('books_s');
$this->db->where(['books_s.type' => 'Fantasy']);
$this->db->where(['books_s.stock' => 'Yes']);
$query = $this->db->get();
if($query->num_rows() > 0)
{
$count_books = $query->result();
if($count_books != NULL)
{
foreach ($count_books as $single_book)
{
$getamount = $this->get_book_amount($single_book->id,$date1,$date2);
if($getamount > 0)
{
$amt = $getamount;
}
else
{
$amt = -($getamount);
}
$total_books = $total_books+$amt;
$books .= '<tr><td><h4>'.$single_book->name.'</h4></td>
<td style="text-align:right" ><h4>'.$amt.'</h4></td></tr>';
}
$books .= '<tr"><td ><h4><i>Total Current Assets</i></h4></td><td style="text-align:right;" ><h4><i>'.$total_books.'</i></h4></td></tr>';
}
}
}
//USED TO COUNT SINGLE BOOK AMOUNT
public function get_book_amount($warehouse_id,$date1,$date2)
{
$count_total_amount = 0;
$this->db->select("bookentry.id as transaction_id,bookentry.date,bookentry.naration,book_stock_entry.*");
$this->db->from('book_stock_entry');
$this->db->join('bookentry', 'bookentry.id = book_stock_entry.parent_id');
$this->db->where('book_stock_entry.warehouse', $warehouse_id);
$this->db->where('bookentry.date >=', $date1);
$this->db->where('bookentry.date <=', $date2);
$query = $this->db->get();
if ($query->num_rows() > 0)
{
$count_books = $query->result();
$count_total_amount = 0;
if($count_books != NULL)
{
foreach ($count_books as $single_book)
{
if($single_book->type == 0)
{
$count_total_amount = $count_total_amount + $single_book->getamount;
}
else
{
$count_total_amount = $count_total_amount - $single_book->getamount;
}
}
}
}
if($count_total_amount == 0)
{
$count_total_amount = NULL;
}
else
{
$count_total_amount = number_format($count_total_amount,'3','.','');
}
return $count_total_amount;
}
Run Code Online (Sandbox Code Playgroud)
小智 1
我认为最好先进行两个单独的查询,然后进行计算。
创建模型方法调用“get_book_amount_until_date”
首先使用日期 1 调用该方法并将其保存在 var 中。第二次使用您的日期 2 调用该方法并将其保存在另一个变量中。
现在执行:总计 = Results_date_2 - Results_date_1