欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

同一页中屡次调用自定义函数,获取到了相同的值

程序员文章站 2024-01-30 17:43:34
...
同一页中多次调用自定义函数,获取到了相同的值
我自定义一个函数pici(),它的作用是:获取到某流水号下的pi字段的值,然后+1(当没有这个流水号的记录时,取值0+1=1)

然后依次向数据库中插入几条记录,形式大概为:
流水号 pi 产品部件
1 1 门套..
1 2 门扇..
1 3 线条..
2 1 门套..
2 2 门扇..
2 3 线条..


但是在PHP中,用某页调用的时候,本应该每次都检索数据库,得到的值为1、2、3…… 这样子,可是,获取的值全部为1

部分代码附在下面,恳请答疑。先谢谢









这里是自定义函数pici()

function pici(){
$SQL = "select ifnull(max(pi)+1,'1') pi from bill where produce_no='预提交'";
$query=mysql_query($SQL);
$rs=mysql_fetch_array($query);
$svc=$rs[pi];
return $svc;
}


下面是调用pici(),然后将3条数据插入数据库


//门扇参数
mysql_query("insert into bill (color,series,produce_no,pi,prod_type,stuff_id,z,val,amount,typein) values ('$_GET[color]','$_GET[series]','$produce_no','".pici()."','$prod_type','$norms_stuff_id','门扇型号','$_GET[model_1]','$men_shu','$_SESSION[login_id]')");
//门套参数
mysql_query("insert into bill (color,produce_no,prod_type,pi,stuff_id,z,val,amount,typein) values ('$_GET[color2]','$produce_no','$prod_type','".pici()."','2','门套长','$mentaochang_shu','$mentao_shu_2','$_SESSION[login_id]')");
//线条规格
mysql_query("insert into bill (color,produce_no,prod_type,pi,stuff_id,z,val,amount,typein) values ('$_GET[color3]','$produce_no','$prod_type','".pici()."','3','线条规格','$_GET[norms_3]','$xiantiao_shu','$_SESSION[login_id]')");

------解决方案--------------------
本帖最后由 xuzuning 于 2012-11-30 16:29:00 编辑 怎么又开一贴?分多了?

我这样理解
流水号 pi 产品部件 produce_no
1 1 门套..
1 2 门扇..
1 null 线条.. 预提交
然后是
1 3 线条..
这样一个过程,对吧?
------解决方案--------------------
还是 ifnull(max(pi)+1,'1') 的问题
你可想一想:
如果 max(pi) 为 null 因为是“预提交”,pi 无值
那么 null + 1 等于什么呢?
如果等于 null 那么就返回 '1'
如果等于 1 那还是返回 1
是这样的吧?

你若想使 pi 递增,应统计非预提交的记录个数再加 1
------解决方案--------------------
你有 where 1=2
能出结果才怪呢?


你去问问你的同事,他们会告诉你你哪里错了
同一页中屡次调用自定义函数,获取到了相同的值

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 同一页中屡次调用自定义函数,获取到了相同的值
  • 专题推荐