Anonymous
Sortieren einer Reihe von Objekten nach einer Eigenschaft [Duplikat]
Post
by Anonymous » 17 Feb 2025, 04:32
Ich versuche, dieses Array nach Benutzername aus einer MSSQL -Abfrage zu sortieren. Ich habe versucht, ein paar Sortenfunktionen zu verwenden, die andere im Web gemacht haben, aber kein Glück hatten. < /p>
Code: Select all
function getSalesPersonTargetTracker()
{
$targetTracker = new StdClass();
$targetTracker->agents = array();
$server = 'blah';
$connectioninfo = array( 'database' => 'blah', 'uid' => 'blah', 'pwd' => 'blah' );
$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 = 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;
}
return $targetTracker;
}
$targetTrackerall = getSalesPersonTargetTracker();
?>
Username
Day
%
% +/-
Actual Total
+/- Total
[/b][b] / [/b]
%
%
£
-£
1739763134
Anonymous
Ich versuche, dieses Array nach Benutzername aus einer MSSQL -Abfrage zu sortieren. Ich habe versucht, ein paar Sortenfunktionen zu verwenden, die andere im Web gemacht haben, aber kein Glück hatten. < /p> [b][code]function getSalesPersonTargetTracker() { $targetTracker = new StdClass(); $targetTracker->agents = array(); $server = 'blah'; $connectioninfo = array( 'database' => 'blah', 'uid' => 'blah', 'pwd' => 'blah' ); $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 = 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; } return $targetTracker; } $targetTrackerall = getSalesPersonTargetTracker(); ?> Username Day % % +/- Actual Total +/- Total [/b][b] / [/b] % % £ -£ [/code]