Ajax запрос
Специальный тип поля, позволяющий вам выполнить вычисления на лету в форме записи. В поле "PHP код" введите свой собственный код, который будет выполнятся при открытии формы. Если в коде используются значения из формы, то при изменении значения в поле ввода, код будет выполнятся повторно.
Работа со значениями
Для получения значения из формы, используйте следующую конструкцию: [id поля].
Например: $distance = [379];
Для вложенной сущности, аналогичным образом можно получить значение из родительской записи.
Обратите внимание: если значения поля 379 пустое, то $distance = 0;
.
Для получения id текущей записи используйте $item_id = $_GET['item_id'];
$_POST['parent_item_id']
- id родительской записи
Используйте опцию "Режим отладки" чтобы проверить код, который будет выполнятся.
Если введен текст по умолчанию, он будет отображаться, когда ajax запрос возвращает пустой ответ.
Вывод и сохранение значения в базе
Для вывода значения используйте команду echo
. Вывод может быть в произвольной форме, например echo '<b style="color:red">' . $value . '</b>';
Для сохранение значения в базе, присвойте значение в специальную переменную $form_field_value
, например $form_field_value = $value;
JavaScript
Если вам необходимо присвоить полученное значение другому полю в форме, это можно сделать с помощью JavaScript кода. Пример:
echo '<script>$("#fields_13").val(' . $value . ')</script>';
Где 13 - id поля. $value - необходимое значение.
MySql запрос
Используя функцию db_query()
вы сможете построить запрос к необходимой таблице и выбрать нужные вам значения. Например:
$tariff_query = db_query("select field_389 from app_entity_35 where " . $distance . " BETWEEN field_387 and field_388",false);
Данные за определенную дату
Если в запросе вам необходимо выбрать данные за определенную дату, используйте функцию FROM_UNIXTIME(unix_timestamp,format) для сравнения дат, например:
$tariff_query = db_query("select field_389 from app_entity_35 where FROM_UNIXTIME(field_387,'%Y-%m-%d')= FROM_UNIXTIME([400],'%Y-%m-%d')",false);
field_387
- это поле дата в сущности где ищите
400
- это поле дата в форме
Значение из выпадающего списка
Пример запроса для получения значения из выпадающего списка:
$value = ''; //Переменная в которой будет хранится значение из списка $choices_id = [157]; //Получаем ID выбранного элемента из списка /* Строим запрос для получения значения из списка к таблице app_fields_choices Поле 157 - выпадающий список */ $item_query = db_query("select value from app_fields_choices where fields_id=157 and id={$choices_id}"); if($item = db_fetch_array($item_query)) { $value = $item['value']; } echo $value;
Показать изображение
Пример вывода изображения из записи по идентификатору записи:
$item_id = [572]; //get record id //field_571 is Image Field in Entity 49 $item_info_query = db_query("select field_571 from app_entity_49 where id='{$item_id}'"); if($item_info = db_fetch_array($item_info_query)) { $img = $item_info['field_571']; $file = attachments::parse_filename($img); //get attachment info //check if file exist and output image if(is_file($file['file_path'])) { echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents($file['file_path'])) . '" width="200">'; } }