Я искал ответ здесь, но не смог его найти.Я создал способ отображения данных из моей базы данных в красивой таблице.Теперь, когда я понял, что мне нужен способ сортировки этих данных после того, как я выполнил свой запрос?
сначала я запускаю основной SQL-запрос, чтобы получить основные данные:
$sql = "SELECT {$wpdb->users}.ID, firstname.meta_value as first_name,
lastname.meta_value as last_name, webaria_company.meta_value as webaria_company
FROM {$wpdb->users}
INNER JOIN (SELECT user_id, meta_value FROM {$wpdb->usermeta}
WHERE meta_key = 'first_name') as firstname ON {$wpdb->users}.ID = firstname.user_id
INNER JOIN (SELECT user_id, meta_value FROM {$wpdb->usermeta} WHERE meta_key = 'last_name') as lastname ON {$wpdb->users}.ID = lastname.user_id
INNER JOIN (SELECT user_id, meta_value FROM {$wpdb->usermeta}
WHERE meta_key = 'webaria_company') as webaria_company ON {$wpdb->users}.ID = webaria_company.user_id";
$asuserlist = $wpdb->get_results($sql);
Затем для каждого идентификатора пользователя явыполнить запрос, чтобы получить результаты для каждого пользователя динамически
<table width="100%">
<thead>
<tr>
<th align="center">Full Name</th>
<th align="center">Company</th>
<th align="center">Attainment Score</th>
</tr>
</thead>
<?php
if (empty($asuserlist)) {
echo "No Users' Data Available Yet!";
}
else {
foreach($asuserlist as $key=>$value){
$result = $wpdb->get_results( "SELECT `score_as` FROM `wattp2_as_score` WHERE `user_id`='".$asuserlist[$key]->ID."' AND `approved`=1 AND `date` > '".$sqldateoneyear."' ORDER BY `date` DESC LIMIT 4" );
// count results in the array of AS SCORE
$countresults = count($result);
// add all results of AS SCORE
$sum = 0;
foreach($result as $key2=>$value){
if(isset($value->score_as))
$sum += $value->score_as;
}
// get the average AS SCORE
$as_score1 = ($sum) / ($countresults);
// round AS SCORE
$as_score_round = round($as_score1);
if ($countresults == 0) {
$as_score_hund = "No Data"; } else {
$as_score_hund = $as_score_round . " over " . $countresults; }; ?>
<tbody><tr><td><?php echo $asuserlist[$key]->first_name . " " . $asuserlist[$key]->last_name; ?></td><td><?php echo $asuserlist[$key]->webaria_company; ?></td><td><?php echo $as_score_hund; ?></td></tr></tbody>
<?php } }?>
</table>
Проблема в том, что мне нужно иметь возможность сортировать результаты таблицы по данным, которые рассчитываются внутри цикла, и я, честно говоря, не знаю,это возможно, или я должен повторить мой код.Мне нужно иметь возможность сортировать таблицу по $ countresults и $ as_score_hund.
Любые советы приветствуются, даже краткие