Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> 3апись в Бд, добавить значение
SARCASM  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




Добрый вечер помогите составить запрос на добавление +1 если DJ в онлайне.

Есть скрипт который парсит инфу с другого сайта.


//получаем данные информера и сохраняем в кеш
//10 секундный кеш не будет нагружать наш сервер

$win1251=0;
$cachefile="cache1995.json";
if(@filemtime($cachefile)<time()-10) {
$informer=@file_get_contents("http://myradio24.com/users/1995/status.json");
file_put_contents($cachefile,$informer);
}
//читаем данные информера из кеш файла (если надо, меняем кодировку)
$informer=(array)json_decode(file_get_contents($cachefile));
if($win1251) array_walk_recursive($informer,function(&$v) {$v=@iconv("utf-8","windows-1251//TRANSLIT",$v);});

//вывод структуры полей (в ссылке добавить ?get=print)
if($_GET[get]=="print") echo "<pre>".print_r($informer,true)."</pre>";

//вывод информации в формате JSON (в ссылке добавить ?get=json)
if($_GET[get]=="json") echo json_encode($informer);

//вывод информации в формате JSONP (в ссылке добавить ?get=jsonp)
if($_GET[get]=="jsonp") echo "var informer=".json_encode($informer).";";

//вывод информации в HTML (параметр get неуказан)
if(!$_GET[get]) {
echo " Вещает DJ: {$informer[djname]}";


}


Все ники DJ-ев есть в базе в таблице users и у каждого ника есть поле user_numefir.
И к примеру из таблицы DJ TEST нужно каждый раз когда он в эфире добавлять ему значение +1 что бы считать сколько раз DJ TEST был в эфире.

Сам запрос на добавление у меня получилось сделать.

$res= $mysqli->query("UPDATE `users` SET `user_numefir`=`user_numefir`+1 WHERE `user_login`= '{$informer[djname]}'");


Но теперь вопрос как сделать так чтоб этот запрос выполнялся лишь тогда когда DJ TEST в эфире.

Если через ajax парсить файл с скриптом и через setInterval обновлять данные запрос добавляет значение +1 постоянно а нужно чтоб один раз!

Подскажите как быть?
Заранее большое спасибо!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2333
Пользователь №: 26852
На форуме: 6 лет, 3 месяца, 10 дней
Карма: 127




SARCASM
Цитата
считать сколько раз DJ TEST был в эфире.
За какой промежуток времени?
Как только ты это определишь, дальше будет понятно что делать... например поставить проверку, если в этом промежутке времени уже делали ( +1 ), то просто выводить статус онлаин, если нет, то делать ( +1 ) и обозначить, что "приход" DJ уже учтен и следует выводить только статус.
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SARCASM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




walerus Спасибо что откликнулись!
Ну вообщем промежуток может быть разный один диджей может выходить в эфир в 5 часов вечера и находиться более часа в эфире. Другой диджей может зайти с утра и быть с пол часа в эфире так что отследить промежуток времени очень сложно.

Вот вы говорите поставить проверку.
Как делать такую проверку?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2333
Пользователь №: 26852
На форуме: 6 лет, 3 месяца, 10 дней
Карма: 127




SARCASM
В общем, я бы сделал так:

ПЕРВЫЙ ЗАПУСК СКРИПТА ТАК СКАЗАТЬ...

1) Запрос на другой сайт о статусе DJ ( {$informer[djname]} ) Допустим его имя Петя.
2) Добавили в базу ( +1 ) Пете и запомнили что "последним" был - Петя
3) через минуту, если позволяет сторонний сайт, так часто его запрашивать, если не позволяет, выставляем позволенное время (2,3,4, ... минуты), делаем повторный запрос о статусе DJ ( {$informer[djname]} )
4) Если имя DJ изменилось:
Добавили в базу ( +1 ) "новому" DJ(Васе) и запомнили что "последним" был - Васе

и так по кругу... т.е. как только новый заступил, ему плюсуется.
Минус только один, если они (DJ) будут меняться каждую минуту, то и плюсоваться будет им каждую минуту. Если есть какие то иные условия/причины - пиши, будем думать. dry.gif
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SARCASM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




walerus Сайт от куда берется инфа не предоставляет инфы о статусе DJ ведущего.
Наверное надо самому как то курить ему статус.
Запросы на сторонний сайт можно выполнять каждые 3 мин.

В теории я так и продумывал как вы описали а вот в технической части PHP я не очень селен.
По этому и обратился сюда.


PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2333
Пользователь №: 26852
На форуме: 6 лет, 3 месяца, 10 дней
Карма: 127




SARCASM
Ты определись...
Цитата
Сайт от куда берется инфа не предоставляет инфы о статусе DJ ведущего.
но в начале ты написал:
Цитата
Есть скрипт который парсит инфу с другого сайта.
Так парсится инфа или нет? Давай определимся как нам можно получить статус DJ, дальше все напишем, проблем нет.
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SARCASM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




walerus Ну парсит инфу о станции онлайн ли само радио, какая песня играет сейчас, которая будет следующей, ну и кто диджей сейчас.

Тобишь по стандарту если диджей не вещает с программы то играет в эфире программа Auto-dj
Вот этот json который с другого сайта выведет ник диджея Auto-dj но вот если диджей начнет вещать ник автоматически измениться.

И вот тут надо ловить ник диджея.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SARCASM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




walerus Так как быть?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26422
Пользователь №: 21350
На форуме: 7 лет, 3 месяца, 11 дней
Карма: 739




Цитата
И вот тут надо ловить ник диджея.

повесить скрипт на крон и задать интервал, хочешь долби донора хоть каждые 2 секунды.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SARCASM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 6
Пользователь №: 43797
На форуме: 4 месяца, 29 дней
Карма:




Игорь_Vasinsky
Да да крон тоже идея...Но как именно ловить в плане пхп ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26422
Пользователь №: 21350
На форуме: 7 лет, 3 месяца, 11 дней
Карма: 739




на кроне парсер, который парсит данные и обновляет их в бд.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса