Программа Идеальные:
А пользователь подписывают команды с нашей программой, а затем поступает в количество миль они идут за день/неделю/и т.д .. Кроме того, в ходе программы мы размещаем небольшие события , События будут иметь летчики с QR-кодами, и пользователь сканирует код и вводит их информацию. Как только они это сделают, пользователь получает кредит за то, что был на этом мероприятии. На веб-сайте есть система баллов, основанная на том, какие события они посещают, и сколько миль они ходят.полноразмерных сортировочные вопросы
Ситуация:
У меня есть 2 таблицы, содержащие две различные переменные, которые должны подвести их, а затем в каждом из них используют разделение, чтобы определить значение точки для этой суммы, а затем поместить его в лидера и поместите его в порядке убывания заработанных очков.
В настоящее время он сортирует их по убыванию, по милям.
Любые идеалы о том, как я исправить это? Я думал, может быть, какая-то магия массива, где я храню информацию каждого пользователя в массиве, а затем вытаскиваю ее, но у меня нет идеала, как даже начать с нее.
Things отметить:
Пользователей имя хранятся хранятся в таблице: Team_Assign
миля пользователя шла хранятся в таблице: Miles
участия события пользователя хранятся в Таблица: События
Я внутренне соединяю эти три таблицы вместе.
Пример:
10 миль 1 точку и 2 события 1 балл.
Джон имеет 10 миль шли, и 4 события, которые были бы 3 баллом Джейн 20 миль и 1 мероприятие, которые были бы в 2,5 балла
В настоящее время он сортировочное тем, кто имеет наибольшее количество миль, и Я понимаю, почему это так, но я не знаю, как повторить запрос, чтобы он сортировал точки, установленные во время цикла while.
Он должен показать:
Иоанна 3
Джейн 2,5
вместо этого он показывает:
Джейн 2,5
John 3
Код:
<?php
$Count = 0;
$LB_User_Query = " SELECT Miles_User, Team_Assign_Name, SUM(Miles_Amount) AS 'Miles', SUM(Event_Count) AS 'Event_Count2'
FROM Team_Assign
INNER JOIN Miles ON Team_Assign_User = Miles_User
INNER JOIN Event ON Team_Assign_User = Event_User
GROUP BY Miles_User, Team_Assign_User, Team_Assign_Name
ORDER BY Miles, Event_Count2 Desc";
$LB_User_stmt = $conn->prepare($LB_User_Query);
$LB_User_stmt->execute();
$LB_User_stmt->bind_result($Miles_User, $Team_Assign_Name, $Miles, $Event_Count2);
while (mysqli_stmt_fetch($LB_User_stmt))
{
$User_Miles = $Miles;
$Count = $Count + 1;
$Miles_Points_indc = 10;
$Event_Points_indc = 1;
$Miles_Points_Total_1 = $User_Miles/$Miles_Points_indc;
$Miles_Points_Total_2 = $Miles_Points_Total_1/$Event_Count2;
$Event_Points_Total = $Event_Count2/$Event_Points_indc;
$Total_Points = $Miles_Points_Total_2 + $Event_Points_Total;
$Total_Points_Round = round($Total_Points, 2);
echo'<tr>';
echo'<td>'.$Count.'</td>
<td>'.$Team_Assign_Name.'</a></td>
<td>'.$Total_Points_Round .'</td>';
echo'</tr>';
}
?>