解決策はかなり単純だと確信していますが、私の脳は今日、正しい心の状態にあるようには見えません。製品の価格マトリックスを格納するMySQLテーブルがあります。
ID PRODUCT MINIMUM PRICE
1 1 2 15
2 1 4 12
3 1 6 10
つまり、IDが1の商品の場合、顧客が買い物かごに最低数量2を持っている場合、各商品の価格は15ポンドまで下がって購入されます。その後、ユーザーがさらに2つの製品をバスケットに入れると、それぞれの価格が£12に引き下げられます。
問題:新しい価格階層が追加されるたびに検証する方法が必要です。したがって、誰かが次の新しい層を追加したい場合:
ID PRODUCT MINIMUM PRICE
4 1 3 16
この場合、ユーザーが2つではなく3つのアイテムを購入することを選択すると、各アイテムの価格が上がるため、これは許可されるべきではありません。したがって、データベースにすでに存在する値に基づいて数量が増加するにつれて、入力された価格が減少していることを確認する必要があります。
$query = 'select id,minimum,price from `cat.tier_price` where product = %d order by minimum asc;';
$query = sprintf($query, (int)$identity);
if(!$return = $db->query($query)){
echo 'MySQL error!';
}else{
$quantity = $_POST['quantity'];
$price = $_POST['quantity'];
if($return->num_row){
while($tier = $return->fetch_object){
}
}
}
私がこれを十分に明確にしていない場合は、言ってください。どんな助けでも大歓迎です。