현재 mssql 서버의 저장 프로 시저에서 정보를 가져 오는 함수가 있습니다.배열에서 일치하는 값의 합계
팀이 동일하면 모든 사용자 대상을 합산하는 루프를 만들려고합니다. 나는 보통 mysql에서 간단한 그룹과 sum으로 이것을 수행 할 것이지만 여기에서 길을 잃는다.
초보자 phper에 대한 도움을 주시면 매우 감사하겠습니다!
function getSalesPersonTargetTracker()
{
$targetTracker = new StdClass();
$targetTracker->agents = array();
$connection = sqlsrv_connect($server, $connectioninfo);
$query = "{call salespersontargettracker (?)}";
$params = array(
date_format(new DateTime(), '01/M/Y')
);
//Run the Query
$statement = sqlsrv_query($connection, $query, $params);
if (sqlsrv_fetch($statement) === false)
print_r(sqlsrv_errors(), true);
//Read in the overall numbers
$targetTracker->target = (float)sqlsrv_get_field($statement, 0);
$targetTracker->workingDays = (int)sqlsrv_get_field($statement, 1);
$targetTracker->currentDay = (int)sqlsrv_get_field($statement, 2);
$targetTracker->dailyTarget = (float)sqlsrv_get_field($statement, 3);
$targetTracker->pointsShouldBeOn = (float)sqlsrv_get_field($statement, 4);
$targetTracker->pointsOn = (float)sqlsrv_get_field($statement, 5);
$targetTracker->pointsDifference = (float)sqlsrv_get_field($statement, 6);
$targetTracker->moneyShouldBeOn = (float)sqlsrv_get_field($statement, 7);
$targetTracker->moneyOn = (float)sqlsrv_get_field($statement, 8);
$targetTracker->moneyDifference = (float)sqlsrv_get_field($statement, 9);
//Move to the next result
sqlsrv_next_result($statement);
//Run through all of the agents and show their details
while (sqlsrv_fetch($statement))
{
$salesPerson = new StdClass();
$salesPerson->team = sqlsrv_get_field($statement, 0);
$salesPerson->username = strtolower(sqlsrv_get_field($statement, 1));
$salesPerson->target = (float)sqlsrv_get_field($statement, 2);
$salesPerson->workingDays = (int)sqlsrv_get_field($statement, 3);
$salesPerson->currentDay = (int)sqlsrv_get_field($statement, 4);
$salesPerson->dailyTarget = (float)sqlsrv_get_field($statement, 5);
$salesPerson->pointsShouldBeOn = (float)sqlsrv_get_field($statement, 6);
$salesPerson->pointsOn = (float)sqlsrv_get_field($statement, 7);
$salesPerson->pointsDifference = (float)sqlsrv_get_field($statement, 8);
$salesPerson->moneyShouldBeOn = (float)sqlsrv_get_field($statement, 9);
$salesPerson->moneyOn = (float)sqlsrv_get_field($statement, 10);
$salesPerson->moneyDifference = (float)sqlsrv_get_field($statement, 11);
//Add this person to the people list
$targetTracker->agents[$salesPerson->moneyOn] = $salesPerson;
krsort($targetTracker->agents);
}
return $targetTracker;
}
$targetTrackerall = getSalesPersonTargetTracker();
$ sums [$ salesPerson-> team] + = $ salesPerson-> target; –
가 작동하지 않고 각 에이전트 점수를 반복해서 출력합니다. –