Я весь день бился головой о стену из-за этого, я уверен, что делать. Я надеюсь, что это не очень просто, потому что это была борьба для меня! Я искал весь день, надеюсь, кто-то может мне помочь.
У меня есть html-таблица, в которой показаны результаты фитнес-тестов каждого игрока из тренировочного лагеря. Я понял, как отобразить их все вместе с их именем (взято из другой таблицы mysql). Теперь рядом с каждым результатом теста я хочу добавить, как они ранжируются для этого конкретного результата теста. Вот код прямо сейчас за вычетом части фильтрации (я не думаю, что это необходимо для решения этой проблемы):
Запрос базы данных ниже. Он упорядочивает игроков в таблице по позициям, чтобы вся защита отображалась вместе, все нападающие вместе и вратари вместе для удобного просмотра тренером.
//get the camp id for the coach logged in
$getcampid = "SELECT value FROM profile_values WHERE uid = '$user->uid'";
$campid = mysql_query ($getcampid);
$campidrow = mysql_fetch_array($campid);
$coachescamp = $campidrow[0];
$getplayerdata = mysql_query("SELECT * FROM content_type_test
INNER JOIN content_type_player ON content_type_test.field_player_uid=
content_type_player.field_uid
WHERE content_type_test.field_training_camp_nid='$coachescamp'
ORDER BY content_type_player.field_position_value") or die(mysql_error());
$left = true;
while($playerdata=mysql_fetch_array($getplayerdata))
{
echo "<td>", $playerdata['field_position_value'], "</td>";
echo "<td>", $playerdata['field_last_name_value'],", ",$playerdata['field_first_name_value'], "</td>";
echo "<td>", $playerdata['field_speed_value'], "</td>";
echo "<td>Show rank of players speed compared to other players in $getplayerdata query</td>";
echo "<td>", $playerdata['field_agility_value'], "</td>";
echo "<td>Show rank of players agility compared to other players in $getplayerdata query</td>";
echo"</tr>";
}
echo"</tbody></table>";
Мне нужно показать ранг игроков, скорость и ловкость в столбцах, где написано «показать ранг игроков...». Всего есть еще 5 рангов, которые мне нужно отобразить в этой таблице, которые я не включил, чтобы упростить задачу. Если я смогу понять, как сделать это для этих двоих, я смогу сделать это и для остальных.
Примечание: скорость и ловкость — это числа. Наименьшее число из массива должно занимать первое место.
Спасибо за любую помощь, эти убивали меня.
РЕДАКТИРОВАТЬ -------------------------------------
Вот код, который у меня есть, который возвращает только 1 результат
$getplayerdata = mysql_query("SELECT * FROM content_type_test
INNER JOIN content_type_player ON content_type_test.field_player_uid=
content_type_player.field_uid
WHERE content_type_test.field_training_camp_nid='$coachescamp'
ORDER BY content_type_player.field_position_value") or die(mysql_error());
$left = true;
while($playerdata=mysql_fetch_array($getplayerdata))
{
$arrayOfAllData = array();
while($playerdata=mysql_fetch_array($getplayerdata)){
$arrayOfAllData[$playerdata[ID]] = array(field_position_value =>$playerdata['field_position_value'],
field_last_name_value=>$playerdata['field_last_name_value'],
field_speed_value=>$playerdata['field_speed_value']);
}
$sql = mysql_query("SELECT @rownum:=@rownum+1 'rank', * FROM content_type_test, (SELECT @rownum:=0) r
INNER JOIN content_type_player ON content_type_test.field_player_uid=
content_type_player.field_uid
WHERE content_type_test.field_training_camp_nid='$coachescamp'
ORDER BY content_type_player.field_speed_value");
while($playerdata=mysql_fetch_array($sql)){
$arrayOfAllData[$playerdata[ID]]["field_speed_value"] = $playerdata['field_speed_value'];
}
foreach($arrayOfAllData as $player){
echo "<td>", $player['field_position_value'], "</td>";
echo "<td>", $player['field_last_name_value'],", ",$player['field_first_name_value'], "</td>";
echo "<td>", $player['field_speed_value'], "</td>";
echo "<td>*I dont know what to put here to display the rank*</td>";
echo"</tr>";
}
}
echo"</tbody></table>";
При выполнении печати отображается одна строка, подобная этой. Массив ( [] => Массив ( [field_position_value] => Forward [field_last_name_value] => Tester [field_speed_value] => 4.504 ))
Также, как отмечено в одном столбце, я не знаю, что напечатать, чтобы показать ранг.