在PHP中是新手,我在脚本中需要帮助,因为我没有得到首选的答案。 我有一个“账单”表,其中存储了销售项目的信息。如下
id | gid | drinks | no_drinks | servicetime | date
1 2 Orange 4 1 2018-08-16
2 2 Orange 2 1 2018-08-16
3 2 Orange 3 1 2018-08-16
下面的文件(BillsController.php)查询gid,服务时间和日期,并且查询等于true。
BillsController.php
$bi = Barz::whereRaw('gid=? and servicetime=? and date=?', array($gid, $t,date('Y-m-d')))->get();
return View::make('bills.show', compact('bi'));
下面是“ show.php”文件,该文件显示数据库中的信息。我只会向您展示其中的一些内容。
<?php
$foods = array();
foreach($bi as $row){
$foods[] = $row->drinks;
$idadi[] = $row->no_drinks;
$unique = array_keys(array_count_values($foods));
$l = count($unique);
}
$newarr = array();
foreach ($unique as $key => $value) {
array_push($newarr, $value);
}
?>
<table class="table table-bordered" id="gt">
<tr style="background-color: #f5f5f5">
<th>Drink</th>
<th>Qty...sx</th>
<th>Time</th>
<th>@cost</th>
<th>Total@</th>
<th>
<select class="form-control active" id="tserv">
<option value="{{$row->servicetime}}">{{Bill::tm($row->servicetime)}}</option>
<select>
</th>
</tr>
<?php $total = 0; ?>
@for($i=0; $i < $l; $i++)
<tr>
<td>{{$newarr[$i]}}</td>
<td>{{$idadi[$i]}}</td> // Only problem is here
<td>{{Bill::appears($newarr[$i], $foods)}}</td>
<td>{{Bar::where('name', $newarr[$i])->first()->cost}} /=</td>
<td>{{($idadi[$i])*(Bar::where('name', $unique[$i])->first()->cost)}}/= </td>
</tr>
<?php $total = $total + (($idadi[$i])*(Bar::where('name', $newarr[$i])->first()->cost)); ?>
@endfor
<tr style="background-color: #f5f5f5">
<td ></td>
<td ></td>
<td></td>
<td><b>Total</b></td>
<td id="ttl">
{{$total}} /=
</td>
</tr>
当我在上面的查询中运行时,我从(“ {{$ idadi [$ i]}}”)中得到4,这意味着它仅占据第一行,而其余部分未被选中。我希望它像这样(4 + 2 + 3)= 9。
答案 0 :(得分:0)
将列加在一起;
SELECT col1, col2, col3, (col1+col2+col3) AS Total FROM
要一起添加行,请使用SUM()
汇总如下;
SELECT userid, SUM(col1) AS col1_total, SUM(col2) AS col2_total FROM table GROUP BY userid
答案 1 :(得分:0)
尝试一下:
从table_name GROUP BY饮料中选择SUM(no_drinks)no_drinks