邮箱里翻到个十几年前的一段ASP代码,闲得无聊,试试能不能用PHP弄出来,结果卡壳了。
比如数据库有整数字段 a1 a2 a3 ...
前台输入框输入 a1+a2... 等各种加减算式 怎么循环显示计算的结果呢
邮箱里翻到个十几年前的一段ASP代码,闲得无聊,试试能不能用PHP弄出来,结果卡壳了。
比如数据库有整数字段 a1 a2 a3 ...
前台输入框输入 a1+a2... 等各种加减算式 怎么循环显示计算的结果呢
比如
id a1 a2 a3 ...
1 5 6 7
2 5 2 8
3 9 6 5
计算 a1 + a2 等算式的同一行
输出结果应该是
11
7
15
jisuan = request.QueryString("jisuan")
jisuan = replace(replace(jisuan,"[jia]","+"),"[jian]","-") //前台用JS做了加减号的处理
select "&jisuan&" as jieguo from shuju order by id asc
后面循环数组就可以了
这时原ASP代码
$arr = db_find('不带前缀的表', array(), array('id' => -1), '页数是数字', '每页查询数量是数字');
foreach ($arr as $val) {
echo $val['a1'] + $val['a2'];
}
如果是想前端使用下面的代码,total 是相加后的结果,前端拿到对象之后再循环就行了。
foreach ($arr as &$val) {
if (!isset($val['total'])) {
$val['total'] = $val['a1'] + $val['a2'];
}
}
// 把数组转json给前端
exit(xn_json_encode($arr));
不知道是不是要你的
感谢楼上两位的回复。
算式是不固定的,所以冰大的方法不合适,我原来的想法是能不能在前台输入框那里给+-号两边插入特定字符,然后后端来分割,再拼起来计算,但感觉好麻烦,也不一定行得通。
只能用倚楼的建议用SQL弄了,确实更简单些。