像解析器一样,我可以将用户输入作为等式并使用PHP和MYSQL在此基础上执行计算吗?

时间:2017-06-25 13:36:46

标签: php mysql

假设用户可以输入

之类的输入

案例1:__inputA * __inputB / __inputC

案例2:__inputA + __inputB

其中 __ inputA __ inputB __ inputC 是用户可以选择的固定变量集,但他只能更改等式并从中选择变量一套固定的。

所以如果数据库包含像

这样的表
input_table
------------------------------------
 - id     - alias_variable - weight
 - 1      - __inputA       - 1
 - 2      - __inputB       - 1
 - 3      - __inputC       - 1
------------------------------------

现在,如果id包含

之类的值
input_value_table    
------------------------------
   id,     userid,     inputid,     value
    1,     2,          1,           10
    2,     2,          2,           10
    3,     2,          3,           10
    4,     3,          1,           20
    5,     3,          2,           30
    6,     3,          3,           40

然后

对于案例1和用户ID 2

(10*1)*(10*1)/(10*1) = 10

和案例2和用户ID 3

(20*1) + (30*1) = 50

从方程表中获取用户输入的正确方法是什么,并使用PHP和Mysql执行此操作?

2 个答案:

答案 0 :(得分:0)

我个人的选择是使用SQL从数据库中选择所有值并在php端执行计算(在我看来更容易理解代码)。

但是,您可以使用sql来计算列数据。

我建议你阅读本指南:

http://www.w3resource.com/sql/arithmetic-operators/sql-arithmetic-operators.php

答案 1 :(得分:0)

答案是肯定的! 在sql上存储用户数据。在php端为每个操作创建一个模式,用户休息你的方程模式。或者你必须根据用户输入(+, - ,/ ....)来压缩操作符。并为背景上的每个操作制作数学逻辑并显示结果。祝你好运。