Пытается использовать имена полей динамической формы. Я могу получить их на странице, но я не могу ссылаться на них, чтобы вставлять или выбирать из таблицы. Я сделал это раньше, динамически назвав поля формы цифрами, а затем прокручивая их, чтобы вставлять данные в таблицу, но эти элементы будут вставлены в разные таблицы, поэтому я хотел бы ссылаться на них по имени, и я попробовал несколько вариантов и Я получаю сообщение об ошибке, которую я пробовал до сих пор. Что я имею в форме от 4 до 6 полей с кнопкой «Добавить» для каждой секции. Я хочу нажать кнопку «Добавить» и вставить поля в определенную таблицу, и у меня есть таблица ниже каждого раздела, которая затем покажет только что добавленные данные.Я не могу ссылаться на динамическую переменную
<cfif structKeyExists(form,"Add")>
<cfquery name = "getTableColumnHeadings">
SELECT * FROM '#enclTable#' <<< errors here >>> enclTable is undefined
</cfquery>
<center><cfdump var = "#enclTable#"></center> <<< and here >>> enclTable is undefined
</cfif>
Поля формы (петли из запроса, чтобы добавить идентификатор, имя поля и MAXLEN и ID кнопки) ...
<cfloop query ="getFormHeadings">
<cfloop query = "getFormFields">
<input type="input" class="form-control" id="#inpID#" name="#inpName#" maxlength="#inpLen#">
</cfloop>
<button class="btn btn-blue btn-block" type="submit" name="Add" id="#enclTable#">
</cfloop>
Кнопка находится в другом цикле через другой запрос
Я попытался это тоже в цикле и увеличившая х
<cfset variables["encl#x#"] = "#enclTable#">
Но потом, когда я помещаю его в
<cfif structKeyExists(form,"Add")>
Я получаю сообщение об ошибке, что х не определено
#variables["enclTable" & x]#
не работает. Я не уверен, что я делаю неправильно. Я могу создать динамическую переменную, но не могу ссылаться на нее после того, как что-то с ней делать. Извините, если это много объяснений, я хотел быть внимательным со всеми подробностями.
Вы находитесь на правильном пути с обозначением массива. Но вам нужна область формы, а не область переменных. –
* enclTable undefined * Где в коде вы определяете поле формы или переменную с именем * enclTablexxxx *? Я не вижу этого в коде выше, так что сообщение об ошибке не удивительно. Какова фактическая ценность 'name =" # inpName # "'? В стороне, используя клиентские значения в запросе, например, ставит базу данных под угрозу для SQL-инъекции. – Leigh
@leigh, enclTable исходит из запроса getFormHeadings. inpName исходит из запроса getFormFields. enclTable - это имя таблицы, а inpName - это имя поля в этой таблице. Я пытался почтить то, что держалось в enclTable, чтобы использовать для вставки записей. Переменная inpName содержит имя полей, а enclTable - имя таблицы. Я не могу ссылаться на них, чтобы получить значения даже после их индексации. У меня есть другая идея, я собираюсь попробовать идею Дэна Бракука. Однако любые другие предложения были бы весьма полезными. Благодаря! – malibu65k