Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z ts3admin.class z array


Rekomendowane odpowiedzi

Opublikowano

Siemka, kieruję ten temat głównie dla tych którzy wiedzą co ts3admin.class.php iż najprawdopodobniej to tego jest przyczyna.

 

Chcę użyć funkcji clientDbInfo i chcę z tego np, wyciągnąć łącznie połączeń z serwerem teamspeak, niby wszystko okej, ale za każdym razem, ZA KAŻDYM wynik jest 8 albo 9 lub 0 dla każdego użytkownika. Jestem na 99% pewien że dobrze użyłem tej funkcji aby brało użytkownika po ID z bazy danych TS3. Użyłem też podbnej funkcji do tego samego celu ale ona okazała się w ogóle nie działać :(. Sama biblioteka ts3admin.class działa iż inne rzeczy typu clientList działają. Napotkał się ktoś jeszcze z takim problemem? Albo ma jakiś pomysł jak to naprawić?

 

 

Kod tej funkcji z ts3admin:

/**
  * clientDbInfo
  *
  * Displays detailed database information about a client including unique ID, creation date, etc.
  *
  * <b>Output:</b>
  * <code>
  * Array
  * {
  *  [client_unique_identifier] => nUixbsq/XakrrmbqU8O30R/D8Gc=
  *  [client_nickname] => par0noid
  *  [client_database_id] => 2
  *  [client_created] => 1361027850
  *  [client_lastconnected] => 1361027850
  *  [client_totalconnections] => 1
  *  [client_flag_avatar] => 
  *  [client_description] => 
  *  [client_month_bytes_uploaded] => 0
  *  [client_month_bytes_downloaded] => 0
  *  [client_total_bytes_uploaded] => 0
  *  [client_total_bytes_downloaded] => 0
  *  [client_icon_id] => 0
  *  [client_base64HashClientUID] => jneilbgomklpfnkjclkoggokfdmdlhnbbpmdpagh
  *  [client_lastip] => 127.0.0.1
  * }
  * </code>
  *
  * @     Par0noid Solutions
  * @ public
  * @param integer $cldbid clientDBID
  * @     array clientDbInfo
  */
function clientDbInfo($cldbid) {
if(!$this->runtime['selected']) { return $this->checkSelected(); }
return $this->getData('array', 'clientdbinfo cldbid='.$cldbid);
}
Kod którego używam aby wyświetlić wynik:

 

/*----------------------*/

require("ts3admin.class.php");
$tsAdmin = new ts3admin($ts3_ip, $ts3_queryport);

if($tsAdmin->getElement('success', $tsAdmin->connect())) {

    $tsAdmin->login($ts3_user, $ts3_pass);
    $tsAdmin->selectServer($ts3_port);
    $serverInfo = $tsAdmin->clientDbInfo(4);


    foreach($serverInfo['data'] as $info) {
        $cons = $info['client_totalconnections'];
        echo $cons;
    }


} else{
    echo 'Connection could not be established.';
}
?>
Co ciekawe aktualny wynik to: cA411174740h8
Opublikowano

Może zacznijmy u podstaw. Give us the code.

 

Czemu używasz foreach do jednego rekordu?
Dodaj do tego kodu debug log.
Znajdziesz go w przykładach do ts3admina.

Opublikowano

Czemu używasz foreach do jednego rekordu?

Dodaj do tego kodu debug log.

Znajdziesz go w przykładach do ts3admina.

Tylko w tym przykładzie sprawdza jedno ID ogólnie to wszystkie. Co do debug log zobaczę poszperam trochę bo nie do końca wiem o co chodzi

 

//Edit

Okej, udało mi się już rozwiązać problem. Nadal nie wiem o co chodziło i jak użyć tego debug log'a ale rozwiązałem mój sposób tym kodem:

$dbInfo = $tsAdmin->clientDbInfo($tsID);
$clientTotalCon = $dbInfo['data']['client_totalconnections'];
 
$tsID = //Id z bazy danych TS3 jeśli ktoś będzie potrzebował/miał problem taki jak ja.

 

@I'm ToNy ale mam jeszcze jeden problem, iż jedna z rzeczy którą wyciągam z ts3 jest aktualny czas online który wygląda tak: 2725817 i nie mam pojęcia czy to jest timestamp czy coś takiego i jak to mógłbym zmienić w dni, godziny oraz minuty. Próbowałem zrobić coś w stylu $roznia = time() - 2725817 (Jako zmienna) ale to nie do końca wychodziło. Strzelę ci parę lików jeśli ci zależy jak pomożesz :)

Opublikowano

 

Czemu używasz foreach do jednego rekordu?

Dodaj do tego kodu debug log.

Znajdziesz go w przykładach do ts3admina.

Tylko w tym przykładzie sprawdza jedno ID ogólnie to wszystkie. Co do debug log zobaczę poszperam trochę bo nie do końca wiem o co chodzi

 

//Edit

Okej, udało mi się już rozwiązać problem. Nadal nie wiem o co chodziło i jak użyć tego debug log'a ale rozwiązałem mój sposób tym kodem:

$dbInfo = $tsAdmin->clientDbInfo($tsID);
$clientTotalCon = $dbInfo['data']['client_totalconnections'];
 
$tsID = //Id z bazy danych TS3 jeśli ktoś będzie potrzebował/miał problem taki jak ja.
 

@I'm ToNy ale mam jeszcze jeden problem, iż jedna z rzeczy którą wyciągam z ts3 jest aktualny czas online który wygląda tak: 2725817 i nie mam pojęcia czy to jest timestamp czy coś takiego i jak to mógłbym zmienić w dni, godziny oraz minuty. Próbowałem zrobić coś w stylu $roznia = time() - 2725817 (Jako zmienna) ale to nie do końca wychodziło. Strzelę ci parę lików jeśli ci zależy jak pomożesz :)

 

To pewnie ilość sekund lub ms, ile użytkownik spędził na serwerze.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...