есть такой кусок:
same = n,MYSQL(Connect connid localhost login pass ast_num)
same = n,MYSQL(Query resultid ${connid} SELECT shifr FROM main WHERE num=${CALLERID(num)})
same = n,MYSQL(Fetch fetchid ${resultid} var1)
same = n,NoOp(${resultid})
same = n,NoOp(${connid})
same = n,NoOp(${var1})
same = n,GotoIf($["${var1}" > 0]?prisv:newab)
same = n(prisv),Dial(SIP/${var1})
same = n(newab)...
Необходимо при наличии значения в БД в таблице main в поле shifr, звонить на номер который я получаю из базы со столбца shifr если соответствие по полю num есть. А если нет, то вносить новый, под следующим номером. Условно первый - 1, второй - 2 и т.д.
так вот, если значения в базе не находится то переменная var пустая. Как осуществить проверку? Пытаюсь сделать условие same = n,GotoIf($["${var1}" > 0]?prisv:newab), но оно не прорабатывается. Помогите пожалуйста :-) !!!
Задан: 2013-12-09 20:23:54 +0400
Просмотрен: 293 раз
Обновлен: Dec 09 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
проверяйте длину записи LEN - при пустой записи будет ноль
awsswa ( 2013-12-09 20:47:13 +0400 )редактироватьСпасибо хороший человек, а почему не ответом, а камментом?
mention ( 2013-12-09 23:14:38 +0400 )редактироватьА говорил уже давно сделал! Обманывал?
После всех вызовов MYSQL() нужно делать Disconect ;)
switch ( 2013-12-09 23:29:18 +0400 )редактироватьэто да, сделал, но работало криво ))) а тут человек подсказал. да я делаю дисконнект, это же всего-лишь отрезок. попутно вопрос по SQL, а как в базу из * записать дату и время? пробую так: same = n,Set(timetoday=${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)})) same = n,MYSQL(Query resultid ${connid} INSERT INTO main (
mention ( 2013-12-10 02:33:36 +0400 )редактироватьnum
,shifr
,descr
,calldate
) VALUES (${CALLERID(num)}, NULL, 1, ${timetoday})) но к сожалению ничего не выходит... в базе поле calldate имеет формат datetime.обращаю внимание формат поля calldate - datetime, я понимаю что можно выставить ему формат TIMESTAMP (по правде так и сделал), но интересно можно ли с Asterisk внести его в данный тип поля?
mention ( 2013-12-10 02:39:20 +0400 )редактироватьМожно, но это вопросы по MySQL, а по нему полно инфы в инете. Подставлять дату из астериска нет смысла, делайте поле тип TIMESTAMP и пусть оно само заполняется.
switch ( 2013-12-10 06:37:42 +0400 )редактировать