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


Как вывести последнее значение из "пстории работы с клиентом"

как сделать

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

#1 Troika

    Новичок

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

Отправлено 08 Июль 2014 - 12:55

Добрый день!

Прошу помочь - как сделать так, чтобы последнее значение из таблицы типа "История работы с клиентом" выводилось в определенное поле другой таблицы?

Цель такая - чтобы в общем списке контрагентов в определенной колонке подтягивалось последнее действие по этому контрагенту.

Заранее большое спасибо.

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Июль 2014 - 14:42

Добавляете вычисление в это поле, которое запросом обращается к таблице "История работы с клиентом" с обратной сортировкой по id и достает значение нужного поля.

#3 Troika

    Новичок

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

Отправлено 08 Июль 2014 - 14:59

Спасибо за быстрый ответ, CbCoder!
К сожалению, не силен в php, там простое вычисление?
Погуглил "Запросы к таблицам php", выдает все по базам данных, кажется, что то не то. Или там и вправду через запросы к БД надо делать?

Сорри за ламерские вопросы...

#4 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 08 Июль 2014 - 15:09

Разумеется, речь о запросах к БД. Каких-либо иных способов извлечь данные из таблиц не существует. Примеры запросов ищите в документации и на форуме.

#5 Troika

    Новичок

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

Отправлено 09 Июль 2014 - 08:08

Покопался по форуму и документации, наваял вот что (вставил это в поле javascript)

$last_rec = data_table("150",and id!=".$line['ID']." ORDER BY id DESC"); // где 150 - это код таблицы, из которой должно браться последнее значение.

Выдает результат 0.

#6 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Июль 2014 - 10:48

Куча синтаксических и логических ошибок:

1. В функции data_table используется имя таблицы ("История работы с клиентом"), а не ее код. Не путайте с data_select (это более низкоуровневый вариант).
2. Скобка в условии не открыта - что видно при подсветке (см. выше, я ее включил). Фатальная ошибка синтаксиса.
3. В начале условия зачем-то стоит "and", хотя перед ним нет никакого другого условия. Зачем?
4. Почему в условии "не равно" стоит? В чем логика?
5. Почему сравнивается id одной таблицы с другой? В чем логика? Если вы хотели связаться с подчиненной таблицей, нужно сравнивать поле связи подчиненной с id текущей. Полно же примеров таких запросов.

#7 Troika

    Новичок

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

Отправлено 09 Июль 2014 - 12:27

Так-с, продолжаю поиск, хоть и не понимаю половины того, что вы написали :)

$last_rec = data_table("Работа по заявке".$line['Результат']."ORDER BY id DESC");

Снова ничего не получилось :(

#8 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 09 Июль 2014 - 13:09

Я еще и не все в предыдущем сообщении заметил, оказывается.

Цитата

вставил это в поле javascript

Видимо я неточно выразился ранее. Вычисления - это не javascript, они пишутся на PHP и вставляются не в настройки поля, а добавляются в отдельной вкладке. См. документацию.

$last_rec = 

У вас здесь просто присвоение в переменную идет, а не в поле. Поля обновляются занесением в переменную $line с ключом в виде имени поля. Опять же см. примеры в документации.

data_table("Работа по заявке".$line['Результат']."ORDER BY id DESC");

1. Почему точка после имени поля? Запятая то куда пропала? Посмотрите еще раз внимательнее примеры работы с данной функцией. Имя таблицы идет как первый аргумент, безо всякого слияния с условием.
2. Что за $line['Результат']? Он то вам для чего? Вам же нужно было равенство поля связи подчиненной с id текущей, как я выше писал. Второй аргумент функции - это условие sql-запроса к БД. Соответственно, условие должно быть вменяемым и соответствовать вашей задаче.

На всякий случай добавлю: для написания вычислений настоятельно рекомендуется владеть хотя бы азами программирования, знанием основ PHP и SQL запросов. В противном случае возможно что лучше не мучиться и обратиться к специалистам.





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

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