2014-01-09 2 views
0

В настоящее время я работаю с корзиной php. Я хотел бы вставить записи с одной страницы на другую страницу. Например, после того, как я нажму кнопку «купить» для моей страницы продуктов, продукты, которые я купил, будут указаны в моей корзине покупок (что я сделал). Когда я выберу «выезд», он введет весь список продуктов в мою корзину. Однако я не мог этого сделать. Когда я выбираю «check out», ему удаётся только вставить ОДНЫЕ продукты/записи, а не весь список продуктов/записей. Могу ли я узнать, как это сделать, чтобы вставить весь список записей в базу данных?Вставка нескольких записей в базу данных php

Ниже приведен мой код для вставки, я не использую SESSION для хранения; а также, я знаю о SQL-инъекции, но сначала я пытаюсь сделать основной, так что не будем касаться SQL-инъекции. Может кто-нибудь мне помочь? Ваша помощь будет действительно оценили (:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "checkout_form")) { 

    $insertSQL = sprintf("INSERT INTO transaction (username, items, packaging, qty, price, imagename, `date`) VALUES (%s, %s, %s, %s, %s, %s, %s)", 
         GetSQLValueString($_POST['username'], "text"), 
         GetSQLValueString($_POST['items'], "text"), 
         GetSQLValueString($_POST['package'], "text"), 
         GetSQLValueString($_POST['qty'], "int"), 
         GetSQLValueString($_POST['price'], "double"), 
         GetSQLValueString($_POST['imagename'], "text"), 
         GetSQLValueString($_POST['date'], "date")); 

     mysql_select_db($database_MyDatabase, $MyDatabase); 
    $Result1 = mysql_query($insertSQL, $MyDatabase) or die(mysql_error()); 
    $insertGoTo = "transaction.php"; 

    if (isset($_SERVER['QUERY_STRING'])) { 
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; 
    $insertGoTo .= $_SERVER['QUERY_STRING']; 
    } 

    header(sprintf("Location: %s", $insertGoTo)); 
} 

ответ

0

Итак, вы хотите, чтобы хранить все ваши продукты в вашей корзине в базе данных в конце процесса оформления заказа, но вы не используете сессию в качестве временного Хранить вашу корзину где-то (Cookie/Session), чтобы ваша корзина была в конце процесса оформления заказа, поэтому вы можете сделать что-то вроде этого:

(Обратите внимание, что это псевдокод и далеко от хорошего стиля oop, просто чтобы вы поняли идею)

// Use-Case: Customer adds a product into his cart 
$cart = $_SESSION['cart']; 
$cart['positions'][] = array('item' => $_POST['item'], /* all your position information here */ 

// Use-Case: Customer wants to end the checkout process 
foreach ($card['positions'] as $position) { 
    // Your datbase insert for a position here 
} 
+0

Могу ли я использовать сеанс? , потому что, , когда я выбираю "buy", товары будут в моей корзине и являются товарами в моей базе (0), , когда я выбираю "checkout", товары в корзине и базе данных (cart) будут вставлены в базу данных (trancart) – user3156220

+0

Итак, у вас есть 2 базы данных для корзины, и вы хотите скопировать из первой базы данных во вторую? – CBergau

+0

, когда я выбираю «купить», он пойдет в корзину, я хранил предметы, которые я покупаю в базе данных (cart). Когда я выбираю «checkout», он будет вставлять записи из базы данных (корзины) в базу данных (trancart). прямо сейчас, я могу вставлять только ОДН-записи за раз. Просто интересно, как я могу вставить всю массу продуктов, которые я купил в базу данных? – user3156220

Смежные вопросы