Good day, I am a novice programmer. Faced a rather ordinary task, but due to lack of experience I cannot understand in which direction to go.
I need to write the usual js + php calculator to calculate the amount of the order by the coefficients.
Here is a similar calculator (as an example):
With the frontend part of the calculator and the transfer of two numeric variable sliders "My rating" and "I want rating", ajax handler in php handler - I figured it out.
But with the calculation of the total amount of rubles in a php handler, I had difficulties.
I wrote a formula (for the test) that could be used to calculate variables manually, but I donβt know how to implement it from the point of view of php logic.
//ΠΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΎΠ² (Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°) $current_mmr = 1000; //ΠΠΎΠΉ ΡΠ΅ΠΉΡΠΈΠ½Π³ $end_mmr = 5000; //Π₯ΠΎΡΡ ΡΠ΅ΠΉΡΠΈΠ½Π³ //ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ°ΠΌΠΈ $value = $end_mmr - $current_mmr; $a = (2500 - $current_mmr) * 2; $b = (3500 - 2500) * 2.5; $c = (4500 - 3500) * 3.5; $d = ($end_mmr - 4500) * 5.5; $e = $a + $b + $c + $d; //ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ $f = $e / $value; //Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ°ΠΌΠΈ Π½Π° ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ $result = $value * $f; $html = "ΠΡΠΎΠ³ΠΎ: {$result}.ΡΡΠ±"; echo json_encode(array('result' => 'success', 'html' => $html)); The difficulty lies in the fact that each numerical range has its own multiplication factor:
0-2500 value=2 2500-3500 value=2.5 3500-4500 value=3.5 4500-5500 value=5.5 Here is the logic by which I wrote the algorithm:
ΠΠ°Π½ΠΎ: 1)"ΠΠΈΡΡΠ°Π½ΡΠΈΡ" ΠΎΡ 0 Π΄ΠΎ 5500 2)ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° "ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°Ρ
" Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ: a) ΠΎΡ 0 Π΄ΠΎ 2500 * 2 b) ΠΎΡ 2500 Π΄ΠΎ 3500 * 2.5 c) ΠΎΡ 3500 Π΄ΠΎ 4500 * 3.5 d) ΠΎΡ 4500 Π΄ΠΎ 5500 * 5.5 3) ΠΠ²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
: a, b (ΠΠ°ΡΠΈ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠΈ "Π’Π΅ΠΊΡΡΠΈΠΉ ΠΠΠ " ΠΈ "ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΠΠ ") 4) const = a < b (ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ "ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΠΠ " Π²ΡΠ΅Π³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ "Π’Π΅ΠΊΡΡΠΈΠΉ ΠΠΠ ") ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΌ ΡΠ΅ΡΠ΅Π· ajax ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: a = 1000 "Π’Π΅ΠΊΡΡΠΈΠΉ ΠΠΠ " b = 5000 "ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΠΠ " ΠΠ°ΠΉΡΠΈ: ΠΠ±ΡΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ "Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ" ΠΎΡ ΡΠΎΡΠΊΠΈ a Π΄ΠΎ ΡΠΎΡΠΊΠΈ b, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ²ΠΎΠΈΠΌ "ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°ΠΌ" Π½Π° Π΄ΠΈΡΡΠ°ΡΠΈΠΈ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: 1)ΠΠ°ΠΉΡΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π΄ΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ a ΠΈ b b - a = 4000 (ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ°ΠΌΠΈ "Π’Π΅ΠΊΡΡΠΈΠΉ ΠΠΠ " ΠΈ "ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΠΠ " - ΡΡΠΎ ΠΠΠ ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΡΡΡΠΈΡΡ) 2) a)2500 - 1000(ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° "Π’Π΅ΠΊΡΡΠΈΠΉ ΠΠΠ ") * 2 = 3000 ΡΡΠ± b)3500 - 2500 * 2.5 = 2500 ΡΡΠ± c)4500 - 3500 * 3.5 = 3500 ΡΡΠ± d)(ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡΠ½ΠΊΠ° "ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΠΠ ")5000 - 4500 * 5.5 = 2750 ΡΡΠ± a + b + c + d = 11750 ΡΡΠ± 11750 / 4000 = ~ 2.9 (Π½Π°ΡΠ»ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ) 3) ΠΠ°ΠΉΠ΄Ρ ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈ Π½ΡΠΆΠ½ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ, ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΈΡ
ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠΌΠΌΡ. ΠΠ³ΠΎ Ρ ΠΈΡΠΊΠ°Π» Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ PHP. I will be glad to any advice and tips, this is not an order, so there is no hurry, I am learning. Thank.

$e = $result;) - E_p