Ich versuche, eine Kanalanzeige für meine Teamspeak 3-Server (die übergeordnete und untergeordnete Kanäle/Kategorien und untergeordnete Kanäle zu den untergeordneten Kanälen usw. hat), aber wann versuchen, es zu stylen und Polsterung hinzufügen hängt davon ab, wo es ist, es schlägt fehl, und stellt sich heraus, wie folgt aus:Padding beim Sortieren von Kategorien fehlschlägt und sortiert
Während es wie diese aussehen soll ist: (natürlich nicht so gestylt, aber Sie bekommen meine Nummer)
Hier ist mein Code:
private $_allChannels = array();
private $_allClients = array();
private function showChannels($parentID, $padding)
{
$response = '';
foreach ($this->_allChannels as $channel) {
$channelParent = $channel['pid'];
$channelID = $channel['cid'];
$channelName = $channel['name'];
if ($channelParent == $parentID) {
$response .= '<span style="margin-left: ' . $padding*2 . 'em;">' . $channelName . '</span><br>';
$response .= $this->showChannels($channelID, $padding++);
}
}
return $response;
}
public function index()
{
$teamspeakServer = TeamSpeak3::factory("serverquery://user:[email protected]:QueryPort/?server_port=ServerPort");
$allClients = $teamspeakServer->clientList(['client_type' => 0]);
$allChannels = $teamspeakServer->channelList();
foreach ($allChannels as $channel) {
array_push($this->_allChannels, array('pid' => $channel['pid'], 'name' => $channel['channel_name'], 'cid' => $channel['cid']));
}
echo $this->showChannels(0, 0);
}
ich Hilfe zu schätzen wissen, danke!
Beide Bilder sind gleich. –
Whoops, mein Schlechter. Jetzt behoben. –
Haben Sie Beispieldaten zum Testen? Nur eine Funktion zu zeigen, die Ihren Server abfragt, hilft uns nicht viel, um die Daten zu erzeugen, die es gibt. –