2013-07-15 6 views
-2

Я довольно новичок в HTML, PHP, а что нет, но у меня есть базовое понимание, я понимаю, что, очевидно, есть функции для Ordering by Numeric/Alphabetical. Однако функция, которую я хочу, я действительно ничего не могу найти и не ищу правильный термин, чтобы найти руководство для того, что я ищуКак сделать обычную сортировку? (Закажите онлайн/офлайн-статус)

В принципе у меня есть пользовательская страница потока для членов клана, над каждым потоком находится текст и изображение статус потока: онлайн/оффлайн, эта функция работает на 100%, когда человек потоков будет меняться от онлайн в оффлайн

Однако все потоки являются перепутались, поток, который находится в сети найден на внизу страницы или в случайных местах

Я хочу, чтобы он приносил потоки, которые в настоящее время находятся в сети сверху, что это возможно?

<?php 

$channelName = htmlspecialchars($_GET['channel'], ENT_QUOTES); 

$clientId = '';    // Register your application and get a client ID at http://www.twitch.tv/settings?section=applications 
$online = 'online.png';  // Set online image here 
$offline = 'offline.png'; // Set offline image here 
$json_array = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams/'.strtolower($channelName).'?client_id='.$clientId), true); 

if ($json_array['stream'] != NULL) { 
    $channelTitle = $json_array['stream']['channel']['display_name']; 
    $streamTitle = $json_array['stream']['channel']['status']; 
    $currentGame = $json_array['stream']['channel']['game']; 

    echo "$channelTitle is <img src='$online' alt='Online' /> playing $currentGame"; 
} else { 
    echo "$channelName is <img src='$offline' alt='Offline' />"; 
} 

?> 

Это то, что я использую, чтобы тянуть статус-STREAM &

<A NAME="SADMAN"><center><font size="3" color="red"><span style="color:#FFFFFF">Konvict</span> - Sadmanwhosane - <span style="color:#CEE3F6">Stream status:</span> <img src="http://teamewix.com/stream.php?streamuser=sadmanwhosane87"></font> 

это все им делать, чтобы показать ему

+0

Зависит от того, как вы получаете эти данные. Сохраняется ли она в базе данных? Используйте 'ORDER BY'. Он хранится в массиве PHP? Используйте 'usort()'. Или, может быть, даже JavaScript. – str

+0

Ну, прямо сейчас я не храню его или что-то еще, это просто обычный HTML, как я сказал в своем главном сообщении, им очень понравилось все это и все еще учится, поэтому я просто использовал стандартный HTM –

+0

Я в основном сделал пользовательская страница на моем веб-сайте vbulletin, которая позволяет PHP/HTML, я сделал баннер Функции изображений, чтобы показывать потоки при нажатии и скрытии при повторном нажатии, а затем буквально просто сделал код, чтобы показать баннер и принять функцию –

ответ

1

Использование JQuery таблицы Сортировщик:

ссылка here.

+0

T все хорошо и хорошо, но я на самом деле не использую таблицу, я хочу, чтобы она автоматически приводила потоки «онлайн» в начало, а не просто нажатием функции? –

+0

Благодарим вас за разъяснения, но есть ли у вас руководство или что-то еще? –

0

Так что я предполагаю, что страница не освежает? то вы используете ajax для получения последних данных, а затем обновите детали страницы.

Ссылка на jQuery ajax (асинхронно получение данных)

Ссылка на jQuery html (для обновления HTML с новыми данными)

Если вы знаете PHP и JQuery хорошо, то это будет легкой задачей и ссылки приведут вас к этому. Но если вы этого не сделаете, это еще одна история. Удачи!


EDIT

Мой ответ выше асинхронный, нет обновления страницы участия.

У вас есть база данных с пользователями, которые являются онлайн и оффлайн? Вы используете jQuery ajax, чтобы узнать, кто в сети и в автономном режиме. Затем, когда у вас есть данные. Для изменения элементов страницы используется jQuery html.

Если вы просто хотите разместить их в зависимости от их статуса во время обновления страницы, вы используете базовые php и html. Используйте arrays. 3 массива, если быть точным.

Array1 - Все команды

array2 - Онлайн команды

Array3 - Offline Команды

Вы просто получить все онлайн команды из Array1 и передать его array2 и все автономные команды из Array1 в Array3.

Затем выполните эхо команды от Array2. Затем Array3 последний. Но опять же это обновление страницы. Если вы не хотите обновлять страницу, следуйте моему первому ответу.


EDIT2

код:

if ($json_array['stream'] != NULL) { 
    $channelTitle = $json_array['stream']['channel']['display_name']; 
    $streamTitle = $json_array['stream']['channel']['status']; 
    $currentGame = $json_array['stream']['channel']['game']; 

    echo "$channelTitle is <img src='$online' alt='Online' /> playing $currentGame"; 
} else { 
    echo "$channelName is <img src='$offline' alt='Offline' />"; 
} 

этому коду:

if ($json_array['stream'] != NULL) { 
    $channelTitle = $json_array['stream']['channel']['display_name']; 
    $streamTitle = $json_array['stream']['channel']['status']; 
    $currentGame = $json_array['stream']['channel']['game']; 

    array_push($OnlineTitleArray,$channelTitle); 
    array_push($OnlineCurrentGameArray,$currentGame); 

} else { 
    array_push($OfflineArray,$channelName); 
} 

foreach($OnlineTitleArray as $key => $val){ 
    echo $val.' is <img src='.$online.' alt=\'Online\' /> playing '.$OnlineCurrentGameArray[$key]; 
} 

foreach($OfflineArray as $key => $val){ 
    echo $channelName.' is <img src='.$offline.' alt="Offline" />'; 
} 

Таким образом, вам нужно массивы поместить данные при помощи array_push затем foreach к отображать данные. Надеюсь это поможет. И проверьте это, если сочтете это полезным

+0

Привет, спасибо за попытку, но это все равно не отвечает на мой вопрос, я хочу, чтобы потоки автоматически заказывались по статусу Online/Offline, когда он выходил онлайн, он доведёт его до вершины –

+0

@DanielStarmer проверить мое редактирование –

+0

Я вижу, что вы имеете в виду, но прямо сейчас я не использую Базы данных для этого ... http://teamewix.com/stream.php?streamuser=sadmanwhosane87 Я буквально просто спрашиваю, есть ли у человека X человек через Twitch.tv API, он не вытаскивает информацию из моей базы данных или чего-то еще, ребята из teamewix сделали проверку API, проблема в том, что я не вижу, как они это сделали, поэтому я могу только вытащить онлайн/оффлайн статус из своих stream.php & включите его в мою собственную страницу –