У меня есть три массива, извлеченные из полей ввода (поля находятся в цикле while).Обновление столбцов таблицы с массивами, php
$act = $_POST["act"];
$apid = $_POST["relate"];
$reason = $_POST['reason'];
массивы $ act, $ apid, $ reason содержат значения, подлежащие обновлению для каждого столбца. например:
$act=(1,2,3,4,5,6);
$apid=(303,304,305,306,307,308);
$reason=(delivery,contract,cargo,offloading,uploading,seal);
на стороне базы данных, у меня есть таблица ActivityProduct
с 3 колонками, а именно; APID
, Actual
, Reason
. APID
является основным ключом таблицы.
Я хотел бы обновить колонки Actual
и Reason
со значениями из массивов. Вот мой код (который не работает), для обновления:
$values=array('reas'=>$reason,'actu'=>$act,'ids'=>$apid);
foreach ($values as $key)
{
$update_row =mysql_query("UPDATE ActivityProduct SET Actual= '$key['actu']}',Reason='{$key['reas']}' WHERE APID='{$key['ids']}' ")
}
Вот ошибка я получаю:
Notice: Undefined index: actu in C:\xampp\htdocs\PD\validate\save-actual.php on line 65
Notice: Undefined index: reas in C:\xampp\htdocs\PD\validate\save-actual.php on line 65
Notice: Undefined index: ids in C:\xampp\htdocs\PD\validate\save-actual.php on line 65
Любая идея, что я делаю неправильно? или как заставить его работать? ..... Я не так разбираюсь в массивах.
Почему вы используете 'foreach'? У вас уже есть три значения, которые можно поместить в запрос, зачем их помещать в массив? –
@u_mulder правильный, а также ваш ключ $ - это фактически ваше значение массива. – Indrajit
@u_mulder может быть вполне возможно, что он показывает только пример, и он получает несколько-один. На самом деле не могу сказать, потому что непонятно, что сторона OP –