Проблемы с заказом результата из запроса

0

Я пытаюсь упорядочить 2-й запрос внутри цикла запроса, но, похоже, не работает... То, чего я точно хочу добиться, это упорядочить строки по идентификатору, но при 2-м запросе это не работает.

Вот код:

<table>

<?php

function convertToHoursMins($time, $format = '%02d:%02d') {
    if ($time < 1) {
        return;
    }
    $hours = floor($time / 60);
    $minutes = ($time % 60);
    return sprintf($format, $hours, $minutes);
}

$servername = "xxxx";
$username = "xxxxx";
$password = "xxxx";
$dbname = "xxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

if(!$_GET["steam"])
{
    $steam = $steamprofile['steamid'];
}
else
{
    $steam = intval($_GET["steam"]);
}

$sql = "SELECT * FROM 'TotalVIPs'";

$conn->set_charset("utf8");
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {


        //echo " <tr><th>". $row["SteamID"]."</th><td></tr>";

        $sql2 = "SELECT * FROM 'PlayedTime' WHERE 'steamid' LIKE '". $row["SteamID"] ."' ORDER BY id ASC";

        $conn->set_charset("utf8");
        $result2 = $conn->query($sql2);

        if ($result2->num_rows > 0) {
            while($row2 = $result2->fetch_assoc()) {

                $time = $row2["AllTotal"];
                $convtime = convertToHoursMins($time, '%d ore %d min');

                $steamprof = "<a href='profile.php?steam=" . $row2["communityid"]. "' class='btn btn-default btn-xs'>Profil</a>";
                echo " <tr><th>". $row2["id"]."</th><td>". $row2["playername"]."</td><td>". $row2["steamid"]."</td><td>". $convtime ."</td><td>". $row2["last_accountuse"]."</td><td>" . $steamprof . "</tr>";

            }
        }
    }
}
$conn->close();
?> 

</table>

Я хочу, чтобы он заказывал по идентификатору, но по какой-то причине этого не делает.

Вот фото: http://prntscr.com/neuu74

  • 0
    Добавьте разделитель в конце каждого цикла и убедитесь, что элементы отсортированы в каждом цикле.
  • 0
    Хм, как я могу это сделать?
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

Поскольку вы используете вложенные циклы, общие результаты будут упорядочены по результатам первого запроса и упорядочены только по id в каждой из внешних строк запроса.

Вместо этого вы должны использовать один запрос, который объединяет две таблицы, затем вы можете упорядочить по столбцу во второй таблице.

SELECT * 
FROM TotalVIPs AS v 
JOIN PlayedTime AS p 
ON p.steamid = v.steamid 
ORDER by p.id

Ещё вопросы

Сообщество Overcoder
Наверх
Меню