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

Модератор: immortal

olehs
Сообщения: 1095
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 79 раз
Поблагодарили: 319 раз

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

Сообщение olehs » Вс июл 03, 2016 8:07 pm

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

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

Сообщение nick7zmail » Пн июл 04, 2016 5:54 pm

Не одно дак другое(( запихал явакод на 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
Сообщения: 5986
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 115 раз
Поблагодарили: 1482 раза

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

Сообщение nick7zmail » Вс июл 10, 2016 8:12 pm

Друзья, подскажите ещё 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
Сообщения: 1095
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 79 раз
Поблагодарили: 319 раз

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

Сообщение olehs » Вс июл 10, 2016 9:12 pm

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
Сообщения: 5986
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 115 раз
Поблагодарили: 1482 раза

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

Сообщение nick7zmail » Вс июл 10, 2016 9:30 pm

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

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

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

Сообщение olehs » Вс июл 10, 2016 9:38 pm

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

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

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

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

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

Сообщение olehs » Вс июл 10, 2016 9:40 pm

Кстати, какой у таблицы ключ?
olehs
Сообщения: 1095
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 79 раз
Поблагодарили: 319 раз

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

Сообщение olehs » Вс июл 10, 2016 9:45 pm

1054: Unknown column 'CODE' in 'field list'
Это значит, что в $rec кроме нужных вам ID и ONCE еще есть мусор от предыдущих запросов в виде поля CODE.
За это сообщение автора olehs поблагодарил:
nick7zmail (Вс июл 10, 2016 10:27 pm)
Рейтинг: 1.37%
Аватара пользователя
nick7zmail
Сообщения: 5986
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 115 раз
Поблагодарили: 1482 раза

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

Сообщение nick7zmail » Вс июл 10, 2016 10:26 pm

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

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

$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
Сообщения: 1095
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 79 раз
Поблагодарили: 319 раз

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

Сообщение olehs » Вс июл 10, 2016 10:49 pm

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