Цикл foreach с несколькими условиями
У меня есть вот такой запрос в таблице. Кроме prod_ves_input у меня есть несколько массива prod_price_input и prod_edizm. Как сделать чтобы эти данные одновременно записывались в таблицу
foreach($_REQUEST['prod_ves_input'] as $prod_ves_input)
{
mysql_query("INSERT INTO product_price(product_id,ves)
VALUES(
'".$id."',
'".$prod_ves_input."'
)");
}
Ответы (1 шт):
Автор решения: Berkins
→ Ссылка
Вот что получилось сделать.
1 Сначала мы создаем части запросов к базе данных методом перебора массива.
2 Далее мы этот массив переводим в строку.
3 Далее мы создаем конечный запрос к базе данных
4 Далее мы передаем этот запрос в метод mysqli_query
5 Ура все наши записи в базе данных :)
Таким подходом мы делаем только один запрос к базе данных а не много, то есть в начале мы формируем сам запрос и только потом записываем данные
// Тут будут храниться наши данные в виде массива
$query_elems = array();
foreach ($products as $product) {
$query_elems[] = "('" . $product['product_id'] . "', '". $product['ves']
."')";
}
// Переводим массив в строку.
$arr_to_string = implode ( ',', $query_elems );
// Создание запроса
$query = "INSERT INTO product_price(product_id,ves) VALUES " . $arr_to_string;
// Записываем данные
if ( mysqli_query($link, $query) === TRUE ) {
printf("Done");
}