У меня есть корзина покупок на моем веб-сайте 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();
}
}
Но я хочу собрать всю информацию вместе.
Вы можете вставить всю строку в один столбец ниже. Проверьте комментарий после строки
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();
}
Других решений пока нет …