Конечно надо пробовать, и если я угадал, что речь идет о выбранных товарах, то:
1) выбор товаров, а тем более и его количества, это форма, которая в отличии от js + json имеет преимущество - при отключенном js на клиенте сервер все равно получит данные.
2) именование полей формы, это - name="id[222]", name="id[333]", где id, к примеру, часть имени поля таблицы базы определяющей идентификатор товара. Хотя, как уже говорилось, в данном случае это не так важно, ибо речь идет о добавлении товаров, или их выборе, то сценарий определен под данную задачу, а товары в одной таблице, а значит и известно имя одного поля.
3) товары на сервере в этом случае, это массив $_POST['id], после обработки пустых и возможной шелухи:
$product = array_diff(array_map('intval', $_POST['id]), [0]);
222 => 1,
333 => 5,
....
ID товаров (ключи этого массива) подставляются в запрос, поэтому их также обязательно привести к типу int (если только не работа с подготовленными запросами например PDO):
if($id = array_diff(array_map('intval', array_keys($product)), [0])) {
$sql = 'SELECT * FROM table WHERE product_id IN(' . implode(',', $id) . ')';
}
и будет получено все по запрашиваемым товарам
4) абстракции pole1, $textfield1, $artikul01, $kolichestvo01 ... выбросить.