Задать вопрос
@anton99zel
29а класс средней школы №7

Как подставить значения из таблицы в форму для отправки на сервер?

Есть табличка с ячейками
Ячейка содержит ряд параметров ID элемента, Символьный код свойства и значение этого свойства плюс в зависимости от значения выводится надпись "Свободно" или "Занято".
Сейчас визуально это выглядит так: 156847Q112600СВОБОДНО
где 15684 это ID, Q11 свойство, 2600 значение
Нужно сделать, чтобы эти параметры передавались в форму ниже для API

Вот код (но это еще не форма)
<?
$ELEMENT_ID = 156847;  // код элемента
$PROPERTY_CODE = "Q11";  // код свойства
$PROPERTY_VALUE = "2600";  // значение свойства

// Установим новое значение для данного свойства данного элемента
CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE));

?>


Как сделать, чтобы при нажатии на ячейку таблицы, параметры из ячейки (все ячейки индивидуальны) подставлялись в код API?

Вообще, опишу задачу так:

Нужно создать форму внизу ФИО, Телефон, Почта, Время и кнопка "Записаться"

Человек заполняет форму, тыкает в табличке сверху на время "Свободно", данные из этой ячейки попадают в форму записи в режиме "скрытности". При нажатии на "Записаться" из формы срабатывает два API

Первое API меняет статус Свободно на занято (код выше опубликован)
Второе API создает элемент инфоблока и содержит ФИО, Телефон...и так далее И Время, которое должно быть взято из таблички.

Частично я сам сделаю, хотя бы попробую.
Но как реализовать подстановку из таблички в код API?

Вот таблица
<td>
<?
if ($person['Q11'] == 'N') {echo ($ELEMENT_ID).($PROPERTY_CODE).($PROPERTY_VALUE).'<span style="color:green">'."СВОБОДНО".'</span>';} 
else { echo '<span style="color:red">'."ЗАНЯТО".'</span>';}?>
</td>


Надо $ELEMENT_ID $PROPERTY_CODE $PROPERTY_VALUE
Подставлять в форму и отправлять на сервер
  • Вопрос задан
  • 212 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
ArtamonovDenis
@ArtamonovDenis
Full-stack developer

156847Q112600СВОБОДНО
где 156847 это ID, Q11 свойство, 2600 значение

если нет возможности задать свой формат строки-значения
тогда остаётся только распарсить строку-значения и получить необходимые данные

всё что до Q - это $ELEMENT_ID
если в Q11 - количество символов после Q всегда = 2, тогда отсчитываем 2 символа от Q - это будет $PROPERTY_CODE.
или если количество символов не равно 2 (т.е. Q11 может изменяться), тогда изначально надо получить все коды свойств и выполнить проверку кода в строке, если найдено, тогда записываем в $PROPERTY_CODE
оставшаяся строка = $PROPERTY_VALUE
получив все данные - отсылаете запрос апи, где вас встречает функция
CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы