цикл через несколько массивов и вставка в SQL

У меня есть форма, которая когда-то подавала часть своего результата, хранится в массивах, например:

(Форма имеет несколько строк с одинаковыми именами ввода)

<select name="product[]"> после отправки в $_GET['product']

если я сделаю:

 // Product ID's foreach($_GET['product'] as $name => $prodvalue) { print "$name : $prodvalue<br>"; } 

возвращается следующее:

0: 9

1: 10

2: 11

3: 12

Так же как и идентификатор продукта, у меня есть 2 других ввода формы структурированных таким же образом, поэтому мой вопрос заключается в том, как я прокручиваю каждый из $ _GET ( $_GET['product'] , $_GET['linequantity'] и $_GET['lineprice'] ), чтобы добавить каждый из них в несколько строк таблицы SQL? Также будут внесены другие записи, которые должны быть введены, но они будут постоянными, поэтому, например, если необходимо добавить 3 строки, остальные записи будут одинаковыми для каждой из трех строк.

Пожалуйста, помогите мне, я схожу с ума!

B.

РЕДАКТИРОВАТЬ:

Таблица называется: order_lines

Значение => Поле

$ _GET ['product'] => product_id

$ _GET ['linequantity'] => unit_price

$ _GET ['lineprice'] => qty

$ unh => unh

Есть еще, но я могу это исправить.

Предполагая, что у вас есть одинаковое количество элементов в каждой коллекции, я бы сделал что-то вроде этого:

 $staticValue1 = $_GET['value1']; $staticValue2 = $_GET['value2']; foreach($_GET['product'] as $name => $prodvalue) { $name = my_escape($name); $prodvalue = my_escape($prodvalue); $linequantity = my_escape($_GET['linequantity'][$name]); $lineprice = my_escape($_GET['lineprice'][$name]); if (checkFormat($linequantity, $lineprince, $prodvalue, $name, $staticValue1, $staticValue2) { $query = "INSERT INTO <table> (qty, unit_price, product, name, static_value_1, static_value_2) VALUES ". "(".$linequantity.", '".$lineprice."', '".$prodvalue."', '".$name."', '".$staticValue1."', '".$staticValue2."')"; $result = mysql_query($query); } } function my_escape($input) { //filter chars that will cause problems in the database // then return the filtered values; depends on db // usually this means encoding quotes, at the very least return str_replace("'","/'",$input); } function checkFormat($linequantity, $lineprince, $prodvalue, $name, $staticValue1, $staticValue2) { //use a series of comparisons to return true or false // based on whether or not ALL inputs match the expected range of values if (!(is_numeric($linequantity)) return false; ... //<-- more comparisons return true; // <-- reaching this means it did not fail on any checks } 

Если ключи всех массивов полей формы равны, вы можете использовать имя одного для ссылки на другое:

 $values = array(); foreach ($_GET['product'] as $name => $value) { $values[] = array($value, $_GET['linequantity'][$name], $_GET['lineprice'][$name]); } 

Это создает массив, в котором каждый элемент представляет собой массив со связанными полями: