Как создать переменную со значением self + другая переменная - PullRequest
0 голосов
/ 11 октября 2018

Мне нужна страница моих тележек, чтобы можно было запомнить общую стоимость предметов, у меня есть 3 items, и все они одинаковы (чтобы упростить себе задачу).Пользователь может отправить количество, используя форму на другой странице.Что мне нужно, чтобы код запомнил количество для item 1, тогда, когда item 2 отправлено через форму, оно добавит количество предыдущего к количеству, представленному новым элементом.Пока что я получил его для отправки количества через форму в массив, затем он может вызываться всякий раз, когда это необходимо, но я не могу понять, как заставить его добавить предыдущее кол-во с новым, чтобы датьмне общая стоимость.

Я не думаю, что весь код необходим, чтобы помочь с этим, поэтому я просто опубликую то, что я считаю необходимым.Если вы хотите увидеть все это, просто спросите, и я отредактирую свой пост, чтобы включить его.

Мой код:

<link id='stylecss' type="text/css" rel="stylesheet" href="css/cartstyle.css">
<link id='stylecss' type="text/css" rel="stylesheet" href="css/style.css">
<!DOCTYPE html>
<html lang="en">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<?php
session_start();
?>
<?php
require_once("head.php");
?>
<?php
require_once("nav.php");
?>

<?php
var_dump ($_POST);
if(!isset($_SESSION['cart'])) {
$_SESSION['cart']=[];
}
$cart = &$_SESSION['cart'];
$movieName = $_POST['movie_name'];
$quantity = $_POST['qty'];

if(isset($moveName)) {
$currentQuantity = $cart[$movieName];
$cart[$movieName] = $currentQuantity + $quantity;
} else {
$cart[$movieName] = $quantity;

}
var_dump($_SESSION);
?>

<div class="shopping-cart">
<!-- Title -->
<div class="title">
  Shopping Bag
</div>

<!-- Product #1 -->
<div class="item">
  <div class="image">
    <?php
    foreach ($cart as $movieName=> $quantity) {
    if ($movieName == 'Inception') {
      echo '<img src="incepcart.jpg" alt="got"/>';
    }
  }
?>
  </div>

  <div class="description">
<?php
foreach ($cart as $movieName=> $quantity) {
if ($movieName == 'Inception') {
  echo "<p>" . $movieName . "x" . $quantity;
  }
}
?>
  </div>
</div>

<!-- Product #2 -->
<div class="item">
  <div class="image">
    <?php
    foreach ($cart as $movieName => $quantity) {
    if ($movieName == 'Game of Thrones: Season 1') {
      echo '<img src="gotcart.jpg" alt="got"/>';
  }
}
    ?>
  </div>
 <div class="description">
<?php
foreach ($cart as $movieName => $quantity) {
if ($movieName == 'Game of Thrones: Season 1') {
  echo "<p>" . $movieName . "x" . $quantity;
  }
}
?>
  </div>
</div>

<!-- Product #3 -->
<div class="item">
  <div class="image">
    <?php
    foreach ($cart as $movieName=> $quantity) {
    if ($movieName == 'Friends Season 1') {
      echo '<img src="friendscart.jpg" alt="got"/>';
  }
}
    ?>
  </div>

  <div class="description">
<?php
foreach ($cart as $movieName=> $quantity) {
if ($movieName == 'Friends Season 1') {
  echo "<p>" . $movieName . "x" . $quantity;
  }
}
?>
        </div>
      </div>

<div class="rhsidee">
 <?php
    if ($movieName == 'Game of Thrones: Season 1') {

}
$total = $_POST['qty'] * 19.99;

    echo "<p>Total <span class\"price\" style=\"color:black\"><b>$total</b></span>"
    ?>

</div>
      <?php 
      echo $currentQuantity * 20
      ?>
    </div>

  </div>
</div>



<form action="product.php">
<button class="prod" type="submit">Continue Shopping </button>
</form>



<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
<?php
require_once("footer.php");
?>

И код для одной из моих форм, которая представляет данныев корзину.php:

<form action="carttest.php" method="post">
<input type="hidden" name="movie_name" value= "Game of Thrones: Season 1" />
   <input type = "hidden" name = "id" value = "M01" />
   <br>
</select>
<div class="widthc">
   <button class="prod" id="minus">−</button>
<input type="number" name="qty" value="0" id="qty" min="0" max="15"/>
<button class="prod" id="plus">+</button>
<br><br>
<button class="prod" type="submit">  Submit</button>
   </form>

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Как уже упоминалось @sudhansu, Session - лучший вариант здесь. Здесь вы можете создать пару ключ-значение сеанса для каждого элемента.

например, для отправки количества для item_CNT вы просто устанавливаете значение сеанса со следующими ключами в нем.

$_SESSION[itemCNT][quantity] = 100;
$_SESSION[itemCNT][name] = 'name';
$_SESSION[itemCNT][id] = 71273928739;

вы можете увеличивать CNT как когда пользователь добавляет количество для определенного элемента.

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

0 голосов
/ 11 октября 2018

Чтобы сохранить эти значения корзины.Вы можете сделать это тремя способами.

  • Session
  • Cookie
  • Db

Если вы хотите отслеживать в корзине пользователя,Вы можете создать таблицу корзины.и поместите значение количества и идентификатора товара на странице корзины.и если вам нужно значение для конкретного сеанса, просто сохраните его внутри сеанса.и если вы хотите сохранить его в браузере пользователя.просто сохраните его в cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...