Перейти к содержимому


Запрос значений через ajax


Сообщений в теме: 13

#1 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 29 Март 2012 - 08:37

Подскажите как подгрузить через AJAX текущее значение из таблицы.

Т.е. при выборе Организации из базы берется текущее значение поля Стадия. При сохранении изменяется значение и в таблице Контрагенты.

#2 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 29 Март 2012 - 09:29

Вообще выбор значений использую ajax реализуется используя select_value.php, результат закодирован в base64.
Например: select_value.php?table=42&line=35&field=435
Вы уверены что вам необходим ajax?

#3 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 02:23

А как этим скриптом пользоваться? Предположим мне надо из таблицы Клиенты (137) получить значение поля Стадия (1651) у контрагента с id=1


Просмотр сообщенияAnalitic (29 Март 2012 - 09:29) писал:

Вы уверены что вам необходим ajax?
Надо для автомацизации заполнения формы. Из базы берется текущее значение поля.

#4 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2012 - 08:32

Просмотр сообщенияZver (30 Март 2012 - 02:23) писал:

А как этим скриптом пользоваться? Предположим мне надо из таблицы Клиенты (137) получить значение поля Стадия (1651) у контрагента с id=1

select_value.php?table=137&line=1&field=1651

#5 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 08:36

На выходе я получаю
137|1651|1||
А где же текущее значение поля Стадия?

P.S. На сколько я понял этот скрипт работает только с полями типа связь.

#6 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2012 - 08:55

Нет, не только по полям типа связь. Проверьте параметры которые указываете. Дабы не быть голосновным, откройте сайт https://demo.clientbase.ru, а затем http://demo.clientba...ne=35&field=435

#7 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 09:03

Как смысл параметра line? Это порядковый номер, id в таблице?...

42|435|35|TWFrcw==|TWFrcw==

Какие-то проблемы с кодировкой?

#8 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 30 Март 2012 - 09:36

Просмотр сообщенияAnalitic (30 Март 2012 - 08:32) писал:

select_value.php?table=137&line=1&field=1651
Решил посмотреть как это работает
Если указанное поле не типа связь - видимо выводит значение в base64
Если типа связь - получил не одно значение, а список из 50 строк базы, содержащих значение без кодирования.
Так должно быть?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#9 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2012 - 09:56

Да, на текущий момент работает именно таким образом. По полю связи выводятся возможные значения для выбора, также можете использовать параметр &q= для фильтрации данных значений.
Для остальных полей просто выдача значения.

#10 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 10:08

И все-таки меня интересует, что мне потом делать с этой строкой (42|435|35|TWFrcw==|TWFrcw==) что бы получить значение?
Действительно ли оно за кодировано в Base64?

#11 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 872 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2012 - 10:28

Просмотр сообщенияZver (30 Март 2012 - 09:03) писал:

TWFrcw==
Это значение ячейки, закодированное в base64

#12 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 11:31

Спасибо разобрался.
Также добавлю от себя. Для того чтобы использовать полученное значение надо:
1. разделить строку
data = data.split('|');
2. и декодировать
value = Base64.decode(data[4]);
Функция decode реализована в файле Base64.js (т.е. если нужен подгружаете) и входит в комплект поставки.

#13 Analitic

    Активный участник

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2012 - 11:39

Незабываем про авторизацию, т.е. вам необходим виртуальный пользователь под которым будут производиться выборки.
Например, виртуальный пользователь под логином ajax_user.
select_value.php?table=137&line=1&field=1651&login=ajax_user&password=ajax_user_password

#14 Zver

    Активный участник

  • Пользователи
  • PipPipPip
  • 80 сообщений

Отправлено 30 Март 2012 - 11:45

Тогда объясните для чего это (виртуальная авторизация) надо, так как сейчас без регистрации выборка производится. Также в конфигурации при использовании этого скрипта авторизация не используется.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных