[Разработчикам] Конструктор модулей

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

Понятно.
Тогда да, нужно на onclick кнопки вешать ajax-вызов.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Помощник создания модулей для MajorDoMo

Сообщение nick7zmail »

Не одно дак другое(( запихал явакод на OnClick кнопки - ссылку генерит нормально, но при вызове почему-то выдает ошибку...

Код: Выделить всё

<script>
function scode(){
geturl('?data_source=<#DATA_SOURCE#>&id=<#ID#>&view_mode=<#VIEW_MODE#>&mode=&mode=learn&code_name=' + document.getElementById("code_name").value);
}
</script>
При клике вот такой результат

Код: Выделить всё

http://192.168.1.179/write_error.php?error=%20URL:%20http://192.168.1.179/admin.php?pd=ZGV2X2h0dHBicmlnZTp7aW5zdGFuY2U9YWRtfQ%3D%3Dpz_cGFuZWw6e2FjdGlvbj1kZXZfaHR0cGJyaWdlfQ%3D%3Dpz_&md=dev_httpbrige&inst=adm&view_mode=edit_dev_httpbrige_devices&id=1%20-%20Uncaught%20ReferenceError:%20geturl%20is%20not%20defined;%20line:%202081   
Ну с ссылкой то я еще разберусь как нить...меня интересует другое... при подписке на событие HOURLY что происходит?

Подписался на событие

Код: Выделить всё

subscribeToEvent($this->name, 'HOURLY'); 
Поставил код на выполнение - проверочный sg(); в функцию

Код: Выделить всё

function processSubscription($event_name, $details='') {
  if ($event_name=='HOURLY') {
        $this->check_params();//<<=== тут было sg()
  }
 } 
...код уже давно поменял, а выполняется все еще первоначальный sg. При подписке эта функция дублируется что-ли где то?

UPD: Перезагрузился - с Hourly все прошло....но до сих пор не понял что это было....
UPD2: с geturl помогите если есть идеи - почему эта фигня не работает...за это и не люблю java...чуть что не так - и причину фиг найдешь....
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Помощник создания модулей для MajorDoMo

Сообщение nick7zmail »

Друзья, подскажите ещё 1 момент пожалуйста... как обновить какое-либо поле в базе вручную? Вот такой код

Код: Выделить всё

$rec[1]['ID']='24';
$rec[1]['ONCE']='true';
SQLUpdate('table_name', $rec);
Выдаёт ошибку 1054: Unknown column 'CODE' in 'field list' пытаясь записать $rec[1]['ID']='24'; $rec[1]['ONCE']='true'; в поле CODE...что я не так делаю?

UPD: Вот так уже лучше

Код: Выделить всё

$rec=SQLSelectOne("SELECT * FROM table_name WHERE ID='24'");
$rec['ONCE']='true';
SQLUpdate('table_name', $rec);
Ошибок не возникает...
Видимо массив нужно воссоздавать полностью...(правда зачем, если мне только 1 поле обновить?) но результата по-прежнему никакого...поле не обновилось...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

nick7zmail писал(а):Друзья, подскажите ещё 1 момент пожалуйста... как обновить какое-либо поле в базе вручную? Вот такой код

Код: Выделить всё

$rec[1]['ID']='24';
$rec[1]['ONCE']='true';
SQLUpdate('table_name', $rec); 
Выдаёт ошибку 1054: Unknown column 'CODE' in 'field list' пытаясь записать $rec[1]['ID']='24'; $rec[1]['ONCE']='true'; в поле CODE...что я не так делаю?
Надо либо так

Код: Выделить всё

$rec[1]['ID']='24';
$rec[1]['ONCE']='true';
SQLUpdate('table_name', $rec[1]);
либо так

Код: Выделить всё

$rec['ID']='24';
$rec['ONCE']='true';
SQLUpdate('table_name', $rec);
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Помощник создания модулей для MajorDoMo

Сообщение nick7zmail »

Вторым способом точно пробовал - не помогло...он первые две строки пытается пропихнуть в поле CODE...первым ещё попробую, посмотрим что выйдет...меня больше волнует то, что если я через select забираю массив, исправляю поля, через sqlupdate пробую их записать - ошибок нет, но ничего не пишется...

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

Прежде чем отправить комментарий, я само собой, проверил код на работоспособность.
Проверял в консоли такой командой

Код: Выделить всё

$rec['ID']=6; $rec['skype']='aaa'; SQLUpdate('users', $rec);
после этого глянул в свойства юзера - запрос отработал.

Если у Вас запрос не отрабатывает, то скорее всего ошибка не в этих трех строчках.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

Кстати, какой у таблицы ключ?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

1054: Unknown column 'CODE' in 'field list'
Это значит, что в $rec кроме нужных вам ID и ONCE еще есть мусор от предыдущих запросов в виде поля CODE.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Помощник создания модулей для MajorDoMo

Сообщение nick7zmail »

Мусор действительно оставался...поправил запрос...

Код: Выделить всё

$rec='';
$rec['ID']=24;
$rec['ONCE']='true';
print_r($rec);
SQLUpdate('app_alarmclock', $rec); 
Ошибок нет, но и эффекта тоже...ключ по идее должен быть ID...но не понял как проверить является ли поле ключевым или нет...

Комп перегрузил (на случай если цикл подвис или ещё что)...все равно не хочет...

Слушай...давай так)) сразу на моем примере... вот модуль https://github.com/nick7zmail/MajorDoMo_app_alarmclock, установи, добавь любую запись (в приложениях - будильник), и попробуй поменять скриптом поле ONCE в таблице app_alarmclock...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am

Re: Помощник создания модулей для MajorDoMo

Сообщение olehs »

без проблем... сейчас попробую
Ответить