Php 要清除阵列的总数
我有一个数组,该数组包含基于$$$销售额的多个金额,附加到“名称”“id”和“目标”。正如您所看到的,一些名称、id和目标是相同的。我的目标是收集总数,并将每个总数附加到促成销售的“姓名”、“id”和“目标”上。我真的不知道该怎么做,因为我还在学习Php 要清除阵列的总数,php,mysql,arrays,Php,Mysql,Arrays,我有一个数组,该数组包含基于$$$销售额的多个金额,附加到“名称”“id”和“目标”。正如您所看到的,一些名称、id和目标是相同的。我的目标是收集总数,并将每个总数附加到促成销售的“姓名”、“id”和“目标”上。我真的不知道该怎么做,因为我还在学习 Array ( [0] => Array ( [name] => L.Chane [id] => oper-4bceffd1-21e0af5b [goal] => 2014-10-25000 [amount] =&g
Array (
[0] => Array ( [name] => L.Chane [id] => oper-4bceffd1-21e0af5b [goal] => 2014-10-25000 [amount] => 360.00 )
[1] => Array ( [name] => L.Chane [id] => oper-4bceffd1-21e0af5b [goal] => 2014-10-25000 [amount] => 450.00 )
[2] => Array ( [name] => L.Chane [id] => oper-4bceffd1-21e0af5b [goal] => 2014-10-25000 [amount] => 450.00 )
[3] => Array ( [name] => C.James [id] => oper-4c236420-0b11e945 [goal] => 2014-10-25000 [amount] => 370.00 )
[4] => Array ( [name] => C.James [id] => oper-4c236420-0b11e945 [goal] => 2014-10-25000 [amount] => 175.00 )
[5] => Array ( [name] => C.James [id] => oper-4c236420-0b11e945 [goal] => 2014-10-25000 [amount] => 155.00 )
[6] => Array ( [name] => K.Crass [id] => oper-4c597644-402490ee [goal] => 2014-10-25000 [amount] => 200.00 )
[7] => Array ( [name] => K.Crass [id] => oper-4c597644-402490ee [goal] => 2014-10-25000 [amount] => 599.00 )
[8] => Array ( [name] => K.Crass [id] => oper-4c597644-402490ee [goal] => 2014-10-25000 [amount] => 50.00 )
[9] => Array ( [name] => R.Cervantes [id] => oper-4f05a90b-03b379f9 [goal] => 2014-10-25000 [amount] => 450.00 )
[10] => Array ( [name] => R.Cervantes [id] => oper-4f05a90b-03b379f9 [goal] => 2014-10-25000 [amount] => 589.00 )
[11] => Array ( [name] => R.Cervantes [id] => oper-4f05a90b-03b379f9 [goal] => 2014-10-25000 [amount] => 350.00 )
[12] => Array ( [name] => A.Gerred [id] => oper-4f30019a-27f27473 [goal] => 2014-10-25000 [amount] => 375.00 )
[13] => Array ( [name] => A.Gerred [id] => oper-4f30019a-27f27473 [goal] => 2014-10-25000 [amount] => 294.50 )
[14] => Array ( [name] => A.Gerred [id] => oper-4f30019a-27f27473 [goal] => 2014-10-25000 [amount] => 440.00 )
[15] => Array ( [name] => G.Whitcher [id] => oper-4f300d33-de9592e3 [goal] => 2014-10-25000 [amount] => 5.00 )
[16] => Array ( [name] => G.Whitcher [id] => oper-4f300d33-de9592e3 [goal] => 2014-10-25000 [amount] => 310.00 )
[17] => Array ( [name] => G.Whitcher [id] => oper-4f300d33-de9592e3 [goal] => 2014-10-25000 [amount] => 349.00 )
[18] => Array ( [name] => K.Lawrence [id] => oper-50f6e4ad-9effbec7 [goal] => 2014-10-25000 [amount] => 499.00 )
[19] => Array ( [name] => K.Lawrence [id] => oper-50f6e4ad-9effbec7 [goal] => 2014-10-25000 [amount] => 187.50 )
[20] => Array ( [name] => K.Lawrence [id] => oper-50f6e4ad-9effbec7 [goal] => 2014-10-25000 [amount] => 170.00 )
[21] => Array ( [name] => K.Chane [id] => oper-52657816-3d6516e2 [goal] => 2014-10-25000 [amount] => 375.00 )
[22] => Array ( [name] => K.Chane [id] => oper-52657816-3d6516e2 [goal] => 2014-10-25000 [amount] => 187.50 )
[23] => Array ( [name] => K.Chane [id] => oper-52657816-3d6516e2 [goal] => 2014-10-25000 [amount] => 229.50 )
[24] => Array ( [name] => J.Stewart [id] => oper-qtgjvw8y-1uqtw058 [goal] => 2014-10-25000 [amount] => 170.00 )
[25] => Array ( [name] => J.Stewart [id] => oper-qtgjvw8y-1uqtw058 [goal] => 2014-10-25000 [amount] => 584.00 )
[26] => Array ( [name] => J.Stewart [id] => oper-qtgjvw8y-1uqtw058 [goal] => 2014-10-25000 [amount] => 249.50 ) )
这是我到目前为止的代码,我知道它不干净,因为我还没有使用PDO,我只是想让它工作:
$result = mysql_query("SELECT a.*,u.OperatorName,u.MonthlyGoal
FROM tblUserPayments a
LEFT JOIN tblOperatorGoals u ON a.OperatorID = u.OperatorID
WHERE a.ChargeAmount IS NOT NULL
AND a.PaymentStatus='OK'
AND a.PaymentDate LIKE '$currentDate%'
AND u.MonthlyGoal LIKE '$currentDate%' " );
while ($row = mysql_fetch_assoc($result)) {
$operArray[] = array(
'name' => $row['OperatorName'],
'id' => $row['OperatorID'],
'goal' => $row['MonthlyGoal'],
'amount' => $row['ChargeAmount']);
}
foreach ($operArray as $value) {
if($value['id'] == '' || $value['id'] == null) {
continue;
}
if(array_key_exists($value['id'], $operSums)) {
$operSums[$value['id']] += $value['amount'];
} else {
$operSums[$value['id']] = $value['amount'];
}
}
我正在寻找一个数组,每个操作符的数组如下所示。非常感谢您的帮助
Array ( [name] => BOB [id] => oper-%%%%%%%%%%%%% [goal] => 2014-10-25000 [amount] => $$total$$ )
您可以简单地将GROUPBY指令添加到SQL查询中,并让数据库为您执行此操作,而不必尝试在PHP中执行此操作
例如,从mytable GROUP BY username中选择Callueys AS amount,将为同一用户名获取包含多行的表,并将所有这些行折叠为一行。问题是,我们如何处理所有不同且将丢失的数据?使用聚合器函数可以解决这个问题。我们可以对它们进行计数,或者得到最小/最大值,不过在您的例子中,您希望使用sum,可以预见的是,它只是在折叠期间将money列的所有值相加,然后将该值作为名为amount的新列生成
现在,有了这些,不要使用mysql\u查询
它是不安全的,你不应该使用它,更重要的是
它已经过时了,您不能使用它,因为现代PHP实际上已经不再附带它了。只有过时的PHP版本才会这样做,如果升级,此代码将立即被破坏。
请看一看这些函数,它们是新的、安全的、受支持的mysql连接器,或者使用,但这通常是愚蠢的,除非您知道您的脚本将与多种数据库格式交互,比如与mysql、postgres和sqlite文件交互