Хорошо, я задал вопрос вчера вечером и получил ряд действительно хороших ответов.Так как я впервые использовал StackOverflow, я был очень доволен.
Я надеюсь, что вы, ребята, можете помочь с новым.Надеюсь, что в будущем я смогу отплатить некоторым НОВЫМ новичкам.
У меня есть следующий код в php-файле:
$sql = "";
$now=date("Y-m-d h:i:s");
$updatedRecords = $json1->{'updatedRecords'};
foreach ($updatedRecords as $value){
$sql = "update `acea` set ".
"`ACEA_A1`='".$value->ACEA_A1 . "', ".
"`ACEA_A2`='".$value->ACEA_A2 . "', ".
"`ACEA_A3`='".$value->ACEA_A3 . "', ".
"`ACEA_A4`='".$value->ACEA_A4 . "', ".
"`ACEA_A5`='".$value->ACEA_A5 . "', ".
"`ACEA_B1`='".$value->ACEA_B1 . "', ".
"`ACEA_B2`='".$value->ACEA_B2 . "', ".
"`ACEA_B3`='".$value->ACEA_B3 . "', ".
"`ACEA_B4`='".$value->ACEA_B4 . "', ".
"`ACEA_B5`='".$value->ACEA_B5 . "', ".
"`ACEA_E1`='".$value->ACEA_E1 . "', ".
"`ACEA_E2`='".$value->ACEA_E2 . "', ".
"`ACEA_E3`='".$value->ACEA_E3 . "', ".
"`ACEA_E4`='".$value->ACEA_E4 . "', ".
"`ACEA_E5`='".$value->ACEA_E5 . "', ".
"`ACEA_E7`='".$value->ACEA_E7 . "' ".
"where `acea_id`=".$value->acea_id;
if(mysql_query($sql)==FALSE){
$errors .= mysql_error();
}
}
Части "ACEA_XX"относятся к столбцам в таблице базы данных «acea» (очевидно), но программист установил их статически.К сожалению, эти столбцы необходимо периодически добавлять, создавая новые столбцы, связанные с новыми введенными спецификациями ACEA.
В результате этот код становится устаревшим.
Без необходимостизаходите и обновляйте этот код каждый раз, когда я добавляю новый столбец, как я могу изменить дизайн этого кода, чтобы он динамически обновлялся для включения новых столбцов?Я все утро пытался заставить его работать, и я могу установить его так, чтобы я мог динамически вставлять фактические имена столбцов в оператор обновления, но я не могу динамически захватывать связанные значения динамически (и я думаю,мой метод захвата и вставки имен столбцов немного запутан).
Мои фактические столбцы таблицы базы данных в настоящее время:
acea_id ACEA_A1 ACEA_A2 ACEA_A3 ACEA_A4 ACEA_A5 ACEA_B1 ACEA_B2 ACEA_B3 ACEA_BE_EAE1ACEA_E5 ACEA_E6 ACEA_E7 ACEA_E9 oil_data_id
Первый и последний столбцы никогда не изменятся и будут оставаться первым и последним столбцами.Любые новые столбцы будут добавлены где-то посередине, но не обязательно непосредственно перед столбцом «oil_data_id».
Я пытался пересмотреть код множеством способов, чтобы правильно получить значения, но просто не могу сделатьэто работает.
У кого-нибудь есть краткая модификация кода, чтобы делать то, что я хочу?Был бы очень признателен.