0

さて、顧客が写真をショッピング カートに追加し、写真のサイズを選択してからチェックアウトできるようにする、自分で作成したショッピング カートがあります。

8x12より大きい画像を含まない注文には2.99 ドル、 10x12以上の画像を含む注文には4.99 ドルを請求します。

私のサイズは を通じて選択<select>され、次のようなセッションに保存され$_SESSION['shipping'][$id]ます。以下の選択を確認できます。

<select class="form-control" id="sizeSelector">
   <option>Select a Size</option>
   <option>4x4</option>
   <option>4x6</option>
   <option>5x7</option>
   <option>6x6</option>
   <option>8x8</option>
   <option>8x10</option>
   <option>8x12</option>
   <option>10x12</option>
   <option>12x16</option>
   <option>4x18</option>                    
</select>

ショッピング カート内のすべてのアイテムの合計数である必要があるため、ID と一緒に配送を保存したくありません。8x12 より大きい商品がある場合、注文全体の送料は 4.99 ドルである必要があります。

サイズセッションを設定するスクリプト内で次のことを試みましたが、選択したサイズに関係なく、常に $2.99 になります。

if ($size <= '8x12') {
   $_SESSION['shipping'] = '2.99';
}
else {
   $_SESSION['shipping'] = '4.99';
}

上記は、以下のコードのスニペットです: (スニペットが含まれています)

<?php 

  session_start();

  require '../config/connect.php';

  $id = $_POST['id'];

  $_SESSION['size'][$id] = $_POST['size'];

  $category = $_SESSION['category'];

  $size = $_SESSION['size'][$id];

  $result = mysqli_query($con,"SELECT * FROM items_info WHERE type='".$size."'");

  while($row = mysqli_fetch_array($result))
  {
    $_SESSION['cost'][$id] = $row['price'];

    if ($size <= '8x12') {
        $_SESSION['shipping'] = '2.99';
    }
    else {
        $_SESSION['shipping'] = '4.99';
    }

  }

?>

基本的に、サイズに設定されたすべてのセッションを実行する必要があり、8x12 より大きいものがある場合は、配送セッションを $4.99 に設定します。それ以外の場合は、送料を $2.99 に設定します。

どんな助けでも大歓迎です!

4

3 に答える 3

0

最初に各オプションに値を割り当て、それらの値を注文の配列に入れる必要があります。次に、その値の MAX を見つけることができます。$max = MAX($size); if ($max <=7) { $_SESSION['shipping'] = '2.99'; } else { $_SESSION['shipping'] = '4.99'; }これは単なる概念であり、解決する必要がある正確なコードです。$size は順番にすべてのサイズの配列名になると仮定しました。

于 2013-10-18T17:38:29.693 に答える