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

WBOY
Lepaskan: 2016-06-13 12:59:24
asal
789 orang telah melayarinya

同一页中多次调用自定义函数,获取到了相同的值
我自定义一个函数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 />
Salin selepas log masuk


下面是调用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 />
Salin selepas log masuk

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

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


你去问问你的同事,他们会告诉你你哪里错了
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan