Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 要清除阵列的总数_Php_Mysql_Arrays - Fatal编程技术网

Php 要清除阵列的总数

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

我有一个数组,该数组包含基于$$$销售额的多个金额,附加到“名称”“id”和“目标”。正如您所看到的,一些名称、id和目标是相同的。我的目标是收集总数,并将每个总数附加到促成销售的“姓名”、“id”和“目标”上。我真的不知道该怎么做,因为我还在学习

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文件交互