function resave($tm) { $korz = myBasket(); foreach ($korz as $item) { $sql = "INSERT INTO orders (\n\t\t\t\t\t\t\t\t\tauthor,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tpubyear,\n\t\t\t\t\t\t\t\t\tprice,\n\t\t\t\t\t\t\t\t\tcustomer,\n\t\t\t\t\t\t\t\t\tquantity,\n\t\t\t\t\t\t\t\t\tdatetime)\n\t\t\t\t\t\t\tVALUES (\n\t\t\t\t\t\t\t\t\t'{$item['author']}',\n\t\t\t\t\t\t\t\t\t'{$item['title']}',\n\t\t\t\t\t\t\t\t\t{$item['pubyear']},\n\t\t\t\t\t\t\t\t\t{$item['price']},\n\t\t\t\t\t\t\t\t\t'{$item['customer']}',\n\t\t\t\t\t\t\t\t\t{$item['quantity']},\n\t\t\t\t\t\t\t\t\t{$tm})"; mysql_query($sql) or die(mysql_error()); } $sql = "DELETE FROM basket WHERE customer = '{$item['customer']}'"; $res = mysql_query($sql) or die(mysql_error()); return $res; }
function saveOrder($dt) { global $link, $basket; $goods = myBasket(); $stmt = mysqli_stmt_init($link); $sql = 'INSERT INTO orders(title, author, pubyear,price, quantity, orderid, datetime) VALUES(?,?,?,?,?,?,?)'; if (mysqli_stmt_prepare($stmt, $sql)) { return false; } foreach ($goods as $item) { mysqli_stmt_bind_param($stmt, 'ssiiisi', $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $basket['orderid'], $dt); mysqli_stmt_execute($stmt); mysqli_stmt_close($stmt); setcookie('basket', "", time() - 3600); return true; } }
function resave($dt) { //заливаем данные о заказе в таблицу orders и удаляем такие же данные из таблици basket (потому как они нам там уже не нужны если человек нажал кнопку оформить заказ $connect = mysqli_connect(DB, DBLOGIN, DBPASS, DBNAME) or die(mysqli_error()); $goods = myBasket(); // вызываем функцию myBasket(); в ней уже описан запрос который содержит данные нашей таблици корзины для покупателя (баскет) foreach ($goods as $item) { //запрос делаем внутри цикла поэтому экранируем данные так '{$item["author"]}' // goodsid это поле используем в orders для передавния id товара по которому потом удалить товар из таблици $sql1 = "INSERT INTO orders (\n author,\n title,\n pubyear,\n price,\n customer,\n quantity,\n datetime,\n goodsid)\n VALUES (\n '{$item["author"]}',\n '{$item["title"]}',\n {$item["pubyear"]},\n {$item["price"]},\n '{$item["customer"]}',\n {$item["quantity"]},\n '{$dt}',\n {$item["goodsid"]})"; mysqli_query($connect, $sql1) or die(mysqli_error($connect)); //отправляем запрос в БД внутри foreach $sql2 = "DELETE FROM catalog WHERE id='{$item["goodsid"]}'"; mysqli_query($connect, $sql2) or die(mysqli_error($connect)); } $sql = "DELETE FROM basket WHERE customer ='" . session_id() . "'"; //запрос на удаление все записей с id = session_id mysqli_query($connect, $sql) or die(mysqli_error($connect)); }
<?php // подключение библиотек require "inc/lib.inc.php"; require "inc/db.inc.php"; ?> <html> <head> <title>Корзина пользователя</title> </head> <body> <h1>Ваша корзина</h1> <?php $goods = myBasket(); if ($goods === false) { echo 'Произошла ошибка при выводе товаров'; exit; } if ($goods) { echo '<p>Вернуться в <a href="catalog.php">каталог</a> </p>'; } else { echo '<p>Корзина пуста! вернитесь в <a href="catalog.php">каталог</a> </p>'; } ?> <table border="1" cellpadding="5" cellspacing="0" width="100%"> <tr> <th>N п/п</th> <th>Название</th> <th>Автор</th> <th>Год издания</th> <th>Цена, руб.</th>
function saveOrder($dt) { global $link, $basket; /*У нас вже є вибірка товарів(myBasket())*/ $goods = myBasket(); foreach ($goods as $item) { mysqli_query($link, "INSERT INTO store_orders(title, description, price, quantity, orderid, datetime) VALUES('{$item['title']}', '{$item['description']}', {$item['price']}, {$item['quantity']},'{$basket['orderid']}', {$dt})"); } setcookie('basket', '', time() - 3600); //видаляємо cookie }
} else { echo "<p>Корзина пуста! Вернитесь в <a href='catalog.php'>каталог</a></p>"; } ?> <table border="1" cellpadding="5" cellspacing="0" width="100%"> <tr> <th>N п/п</th> <th>Название</th> <th>Автор</th> <th>Год издания</th> <th>Цена, руб.</th> <th>Количество</th> <th>Удалить</th> </tr> <?php $myBasket = myBasket(); $i = 1; $sum = 0; // Общая сумма заказа ?> <?php foreach ($myBasket as $item) { ?> <tr> <td><?php echo $i; ?> </td> <td><?php echo $item['title']; ?>
function saveOrder($dt) { global $link, $basket; $goods = myBasket(); $stmt = mysqli_stmt_init($link); $sql = "INSERT INTO orders(\n title,\n author,\n pubyear,\n price,\n quantity,\n orderid,\n datetime)\n VALUES(?,?,?,?,?,?,?)"; if (!mysqli_stmt_prepare($stmt, $sql)) { return false; } foreach ($goods as $item) { mysqli_stmt_bind_param($stmt, "ssiiisi", $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $basket['orderid'], $dt); mysqli_stmt_execute($stmt); } mysqli_stmt_close($stmt); setcookie('basket', '', time() - 3600); return true; }
} else { echo "<h4>Вернуться в <a href='catalog.php'>каталог</a></h4>"; } ?> <table border="1" cellpadding="5" cellspacing="0" width="100%"> <tr> <th>N п/п</th> <th>Название</th> <th>Автор</th> <th>Год издания</th> <th>Цена, руб.</th> <th>Количество</th> <th>Удалить</th> </tr> <?php $arr = myBasket(); if (!is_array($arr)) { echo 'Произошла ошибка при выводе товаров'; exit; } else { if ($_GET['del']) { $arr = array(); } } $i = 1; $sum = 0; if (is_array($arr)) { foreach ($arr as $item) { ?> <tr> <td><?php
function saveOrder($datetime) { global $ms, $basket; $goods = myBasket(); $stmt = $ms->stmt_init(); $sql = "INSERT INTO `orders` (`title`, `author`, `pubyear`, `price`, `quantity`, `orderid`, `datetime`) VALUES(?, ?, ?, ?, ?, ?, ?)"; if (!$stmt->prepare($sql)) { return false; } foreach ($goods as $item) { $stmt->bind_param('ssiiisi', $item['title'], $item['author'], $item['pubyear'], $item['price'], $item['quantity'], $basket['orderid'], $datetime); $stmt->execute(); } $stmt->close(); return true; }
<th>Удалить</th> </tr> <?php /* ЗАДАНИЕ 2 - Получите все товары из корзины пользователя в виде массива - Создайте переменные для подсчета порядковых номеров ($i) и общей суммы заказа ($sum) - В цикле выводите все позиции из корзины на экран - Также, в цикле увеличивайте значение переменной $sum на соответствующее значение (сумма текущего товара * его количество) - Значение ячейки "Удалить" оформите в виде гиперссылки на документ delete_from_basket.php, добавив параметр id с id записи */ $arr = myBasket(session_id()); //echo '<pre>'; //print_r($arr); //echo '</pre>'; foreach ($arr as $st) { echo '<tr>'; echo '<td>' . ($i += 1 . '</td>'); echo '<td>' . $st['author'] . '</td>'; echo '<td>' . $st['title'] . '</td>'; echo '<td>' . $st['pubyear'] . '</td>'; echo '<td>' . $st['price'] * $st['quantity'] . '</td>'; echo '<td>' . $st['quantity'] . '</td>'; echo "<td><a href='delete_from_basket.php?id={$st['id']}'>Удалить</a></td>"; echo '</tr>'; $sum += $st['price'] * $st['quantity']; }