Cześć, łączę serwer ts3 ze stroną za pomocą TS3 PHP FRAMEWORK i chce zrobić ranking "Top online". Problem jest taki, że nie wiem do końca jak prawidłowo zrobić for loopa, żeby każdy kolejny rekord wyciągnięty z bazy danych był po 1 większy od poprzedniego. Obecnie skrypt wyrzuca mi każdą osobę po 200 razy. Na razie chce się skupić na tym, aby osoby wyciągnięte z bazy danych były ponumerowane od 1 do 200, a potem będę się męczył z posortowaniem tego od najwyższego.
<?php
require_once "../baza.php";
mysqli_report(MYSQLI_REPORT_STRICT);
try
{
$polaczenieTopOnline = new mysqli($host, $db_user, $db_password, "ranking");
function secondsToTime($seconds) {
$dtF = new \DateTime('@0');
$dtT = new \DateTime("@$seconds");
return $dtF->diff($dtT)->format('%h Godzin %i Minut %s Sekund');
}
if ($polaczenieTopOnline->connect_errno!=0)
{
throw new Exception(mysqli_connect_errno());
}
else
{
$TopOnline="SELECT * FROM user";
if($rezultatTopOnline=$polaczenieTopOnline->query($TopOnline))
{
$tsConfig = require_once("tsc.php");
if($rezultatTopOnline -> num_rows > 0)
{
while($pokaz_rezultat = $rezultatTopOnline->fetch_assoc())
{
$pokaz_rezultat_nick = $pokaz_rezultat["name"];
$pokaz_rezultat_ilosc_online = $pokaz_rezultat["count"];
//$ignoruj_id = $pokaz_rezultat["uuid"];
$koncowyRezultat = $pokaz_rezultat_nick." / ".secondsToTime($pokaz_rezultat_ilosc_online)."<br/>";
for($miejsce = 1; $miejsce <= 200; $miejsce++)
{
echo $miejsce.' '.$koncowyRezultat;
}
}
}
else
{
echo "Nie znaleziono rezultatu";
}
}
$polaczenieTopOnline->close();
}
}
catch(Exception $error_wyjatek)
{
echo '<span style="color:red;">"Błąd serwera!"</span>';
echo '<br />Informacja developerska: '.$error_wyjatek;
}
?>
- 354dfsg.PNG (71 KB) - ściągnięć: 16
for
tuż przedwhile
i wszystko działawhile
? I czym wyciągnąć te rezultaty do porównania? Boconst sortowanie = $pokaz_rezultat_ilosc_online
nic nie pokaże i wywali tyle błędów ile razy się pętla wykonaorder by
. No i lepiej kontynuuj w postach niż w komentarzach.