PrepareFields
Описание и параметры
CDatabase::PrepareFields( string TableName, string prefix = "str_", string Suffix = "" )
Метод подготавливает глобальные переменные, соответствующие именам полей таблицы table для записи в БД. Нестатический метод.
Создает глобальные переменные ${prefix.имя_поля.postfix} и устанавливает их значениями глобальных переменных, соответствующих именам полей из таблицы table, предварительно преобразовав их в зависимости от типа поля.
Например, для поля типа int будет выполнено:
${prefix.имя_поля.postfix} = intval(${имя_поля});
Для поля типа varchar:${prefix.имя_поля.postfix} = CDatabase::ForSql(${имя_поля}, размер_поля);
Примечание. Метод работает с переменными из глобальной области видимости, это необходимо учитывать при создании основных файлов компонентов.
Параметры
| Параметр | Описание |
|---|---|
| TableName | Имя таблицы. |
| prefix | Префикс переменных.
Необязательный. По умолчанию "str_". |
| Suffix | Постфикс переменных.
Необязательный. По умолчанию пустая строка. |
Смотрите также
Примеры использования
<?
if (strlen($save)>0)
{
if (CheckFields())
{
$DB->PrepareFields("b_form");
$arFields = array(
"TIMESTAMP_X" => $DB->GetNowFunction(),
"NAME" => "'".trim($str_NAME)."'",
"VARNAME" => "'".trim($str_VARNAME)."'",
"C_SORT" => "'".intval($str_C_SORT)."'",
"FIRST_SITE_ID" => "'".$DB->ForSql($FIRST_SITE_ID,2)."'",
"BUTTON" => "'".$str_BUTTON."'",
"DESCRIPTION" => "'".$str_DESCRIPTION."'",
"DESCRIPTION_TYPE" => "'".$str_DESCRIPTION_TYPE."'",
"SHOW_TEMPLATE" => "'".trim($str_SHOW_TEMPLATE)."'",
"MAIL_EVENT_TYPE" => "'".$DB->ForSql("FORM_FILLING_".$str_VARNAME,50)."'",
"SHOW_RESULT_TEMPLATE" => "'".trim($str_SHOW_RESULT_TEMPLATE)."'",
"PRINT_RESULT_TEMPLATE" => "'".trim($str_PRINT_RESULT_TEMPLATE)."'",
"EDIT_RESULT_TEMPLATE" => "'".trim($str_EDIT_RESULT_TEMPLATE)."'",
"FILTER_RESULT_TEMPLATE" => "'".trim($str_FILTER_RESULT_TEMPLATE)."'",
"TABLE_RESULT_TEMPLATE" => "'".trim($str_TABLE_RESULT_TEMPLATE)."'",
"STAT_EVENT1" => "'".trim($str_STAT_EVENT1)."'",
"STAT_EVENT2" => "'".trim($str_STAT_EVENT2)."'",
"STAT_EVENT3" => "'".trim($str_STAT_EVENT3)."'"
);
if ($ID>0)
{
$DB->Update("b_form", $arFields, "WHERE ID='".$ID."'", $err_mess.__LINE__);
}
else
{
$ID = $DB->Insert("b_form", $arFields, $err_mess.__LINE__);
$new="Y";
}
$ID = intval($ID);
if (strlen($strError)<=0)
{
if (strlen($save)>0) LocalRedirect("form_list.php?lang=".LANGUAGE_ID);
elseif ($new=="Y") LocalRedirect("form_edit.php?lang=".LANGUAGE_ID."&ID=".$ID);
}
}
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025