У меня есть функция, которая отправляет данные в скрипт и обновляет базу данных, но сценарий использует цикл for для увеличения числа и этот номер вставляется в имя переменной в скрипте. Причина этого в том, что я вытаскиваю неизвестное количество данных, и мне нужно однозначно идентифицировать ячейки.
Таким образом, проблема, с которой я сталкиваюсь, связана с функцией и хочет изменить переменные post, чтобы скрипт мог проверить их в цикле.
Ex.
function test(test_name, test_id, cell_num, type)
{
if (type == "Test") {
var test_name = $("#test_"+cell_num+"_name").val();
$.post('test.php', { cell_num: cell_num, 'test_'+cell_num+'_name': test_name });
}
}
Вы заметите 'test' + cell_num + '_ name': имя_файла отформатировано неправильно. То, что я пытаюсь сделать, это ввести переменную имя переменной, так как мой скрипт проходит через эти имена постепенно.
ОБНОВИТЬ:
var test_name = $("#test_"+cell_num+"_name").val();
var params = {};
params['cell_'+cell_num] = cell_num;
params['test_'+cell_num+'_name'] = test_name;
$.post('test.php', params);
Я не могу получить доступ к данным в параметрах test.php, используя
test_name = $_POST['test_1_name'];
cell = $_POST['cell_1'];
Кажется, что параметры передают значения, а не переменные.
Я решил пойти со стандартной почтой и отказался от использования динамических переменных, поскольку это вызывало много ненужного стресса. Он использовался для системы инвентаризации, поэтому вы можете изменить одно поле, и как только вы нажмете кнопку мыши, одна ячейка обновит базу данных.
Я пытался уменьшить объем трафика в базу данных, но это было слишком много хлопот.
Вы можете сделать это так
function test(test_name, test_id, cell_num, type)
{
if (type == "Test") {
var test_name = $("#test_"+cell_num+"_name").val();
var params = {cell_num: cell_num};
params['test_'+cell_num+'_name'] = test_name;
$.post('test.php', params);
}
}
Определяя объект json, вы не можете определить имя ключа динамически. Поэтому, когда вам нужны динамические клавиши, относитесь к нему как к массиву, и он исправит вашу проблему.