Как вставить заказы корзины покупателя каждого пользователя в один столбец в БД (не в строку)?

У меня есть корзина покупок на моем веб-сайте WordPress, и как только пользователь нажал кнопку «Оформить заказ», я хочу вставить элементы корзины соответствующего пользователя в БД, но хочу вставить ее в один столбец. Позвольте мне сделать это более понятным.

Я отслеживаю имя пользователя / фамилию / почту / номер телефона и имею столбцы для каждой из этих данных в БД. Также у меня есть столбец с именем «cartInfo» и там я хочу вставить ВСЕ элементы корзины, разделенные запятыми или чем-то еще (это не имеет значения). Я хочу собрать всю информацию об элементах корзины и вставить ее в один столбец. В настоящее время я вставляю их как несколько строк (один элемент корзины = одна строка в БД). Вот мой код для этого.

foreach($_SESSION['shopping_cart'] as $item) {
$item_id = $item['product_id'];
$item_name = $item['product_name'];
$item_quantity = $item['product_quantity'];
$item_url = $item['product_url'];
$item_code = $item['product_code'];

$sql = "INSERT INTO cart_orders (productcode, productqty) VALUES ('$item_code', '$item_quantity')";
if(mysql_query($sql)){
echo 'Success';
}else{
echo mysql_error();
}
}

Но я хочу собрать всю информацию вместе.

1

Решение

Вы можете вставить всю строку в один столбец ниже. Проверьте комментарий после строки

 foreach ($_SESSION['shopping_cart'] as $item) {

$product_quantity .=$item['product_quantity'] . ",";//concatenate it by comma
$item_code .=$item['product_code'] . ",";//concatenate it by comma
}// foreach loop end
$product_quantity = rtrim($product_quantity, ",");// Remove last comma
$item_code = rtrim($item_code, ",");// remove last comma
$sql = "INSERT INTO cart_orders (productcode, productqty) VALUES ('$item_code', '$product_quantity')";
if (mysql_query($sql)) {
echo 'Success';
} else {
echo mysql_error();
}

обновленный

foreach ($_SESSION['shopping_cart'] as $item) {
$product_quantity .=$item['product_quantity'] ."-". $item['product_code'] . ",";  //concatenate it by comma
}// foreach loop end
$product_quantity = rtrim($product_quantity, ","); // Remove last comma

$sql = "INSERT INTO cart_orders (productcode) VALUES ('$product_quantity')";
if (mysql_query($sql)) {
echo 'Success';
} else {
echo mysql_error();
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]