Ich versuche, etwas Mathe zu tun, um freie Artikel in php auf meine Shop-Kasse auszuarbeiten.php mathematische Berechnungen geben keine korrekten Ergebnisse
Hier ist mein Code:
$bugofq = $cart_item['quantity'] * get_free_quantity($cart_item['product_id']);
$deal['freequantity'] = 10;
$deal['itemquantity'] = 5;
if($deal['freequantity'] >= 1 && $deal['itemquantity'] >= 1 && $cart_item['quantity'] > $deal['itemquantity']){
$bugofq = $cart_item['quantity'] + $deal['freequantity'];
}
Also im Grunde ich meine Datenbank bin abfragt, um zu sehen, ob ein bestimmtes Produkt vorhanden ist. Wenn dies der Fall ist, überprüfe ich, ob irgendwelche Angebote vorhanden sind.
Das obige Beispiel hat ein Angebot von "Kaufen Sie 5 Produkte, erhalten 10 frei".
Meine if-Anweisung oben berechnet dies richtig, so dass die Gesamt Produkte ist dann 15.
jedoch, wenn ich 10 Artikel meinem Warenkorb i mit insgesamt 30 Produkte sollten am Ende (5 + 10 + 5 + 10 = 30), aber ich lande mit 20. Das passiert auch, wenn ich eine beliebige Menge der 5 hinzufüge. Wenn ich also 20 Produkte zu meinem Warenkorb hinzufüge, würde ich erwarten, 60 zu sehen, die ursprünglichen 20 und 40 frei, Bu ti Ende up mit 30
gibt es etwas offensichtlich falsch mit meiner oben cal
wenn 5 Produkt wird dann insgesamt Produkt im Warenkorb (5 + 10 (frei)) = 15, und wenn 10 Produkt wird dann das Gesamtprodukt im Warenkorb (10 + 10 (gratis für die ersten 5) + 10 (gratis für die nächsten 5)) = 30? –
Hat eine der Antworten Ihre Anforderungen erfüllt? Wenn ja, könnten Sie die Antwort Ihrer Wahl als akzeptiert markieren oder einen Kommentar abgeben? – trincot