отакої - PHP Online
Form of PHP Sandbox
Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php
in the places where the PHP script should be executed.
Result of php executing
Full code of отакої.php
- <?php
- //перевіряю чи взагалі є за що платити і тут може бути 0, списання браку
- $totalasumm = $db->query("SELECT SUM(order_cost) FROM `{$db_cart}` WHERE order_userid={$usr["id"]} && order_status='new' && order_cart=1 ")->fetchColumn();
- if ($totalasumm >= 0) {
- $shopcart = $db->query(" SELECT SUM(order_cost) as sum, COUNT(order_id) as items FROM `{$db_cart}` WHERE order_userid={$usr["id"]} && order_status='new' && order_cart=1 ")->fetch();
- $items = $db->query(" SELECT * FROM `{$db_cart}` WHERE order_userid={$usr["id"]} && order_status='new' && order_cart=1 && order_count>0 ")->fetchAll();//ось тут по кожному окремому замовленню дістаю дані
- $ids = "";
- $shopcart["sum"] = clean_price($shopcart["sum"], $default = 0, true);
- foreach ($items as $v) {
- $ids .= $v["order_id"]. ",";
- }
- foreach ($items as $i) {//перевіряю чи є достатньо товару в наявності
- $good = $db->query("SELECT item_quantity FROM $db_market WHERE item_id=".$i["order_pid"]." LIMIT 1")->fetchColumn();
- if (($good - $i['order_count']) < 0)
- {
- cot_redirect(cot_url('cart', '', '', true));//якщо немає то вертаю юзера в кошик взад
- }
- }
- //і ось тут є заковика
- //Олі потрібно в ОДНЕ замовлення додавати однаковий товар і продавати його з різною ціною
- //Раніше я ДО цього всього фільтрував залишки - якщо було товару меньш ніж замовлено воно не додавало до кошику
- //а зараз в мене немає перевірки на те чи товар вже в кошику і я відповідно не можу перевірити чи його достатньо
- //що треба тут зробити:
- //в кожного товару в магазі $db_market є свій унікальний id
- //в кожного товару що додано в кошик $db_cart є свій унікальний id - $i['order_id']
- //але якщо це один і той же товар то поле $i['order_pid'] в нього однаковий - це product id з таблиці $db_market
- //і треба тут дивитися суму $i['order_count'] для всіх $i['order_id'] в якхи однаковий $i['order_pid'] і потім вже
- //брати з $db->query("SELECT item_quantity FROM $db_market WHERE .... скільки є там в залишку
- //і якщо сума $i['order_count'] більша то cot_redirect(cot_url('cart', '', '', true));//якщо немає то вертаю юзера в кошик взад
- if ($shopcart["count"] >= 0) {
- if (
- $db->insert($db_cart_checkout, array(
- "user_id" => $usr["id"],
- "date" => time(),
- "checkout_cost" => $shopcart["sum"],
- "checkout_ids" => substr($ids, 0, -1)
- ))
- ) {
- $checkout_id = $db->lastInsertId();
- $options["code"] = $checkout_id;
- $options["redirect"] = cot_url("marketorders", "m=purchases");
- $options["desc"] = "Замовлення номер ".substr($ids, 0, -1);
- cot_payments_create_order('shop', $shopcart["sum"], $options);
- }
- }
- }
- else
- {
- cot_redirect(cot_url('cart', '', '', true));
- }