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

WBOY
풀어 주다: 2016-06-13 12:59:24
원래의
789명이 탐색했습니다.

同一页中多次调用自定义函数,获取到了相同的值
我自定义一个函数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(){<br />
$SQL = "select ifnull(max(pi)+1,'1') pi from bill where produce_no='预提交'"; <br />
$query=mysql_query($SQL);<br />
$rs=mysql_fetch_array($query);<br />
$svc=$rs[pi];<br />
return $svc;<br />
}  <br />
로그인 후 복사


下面是调用pici(),然后将3条数据插入数据库
<br />
<br />
//门扇参数<br />
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]')"); <br />
//门套参数<br />
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]')");   <br />
//线条规格<br />
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]')");<br />
로그인 후 복사

------解决方案--------------------

本帖最后由 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
能出结果才怪呢?


你去问问你的同事,他们会告诉你你哪里错了
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿