php流水号

hjzhangjing1 2009-06-05 12:35:02
我想这个流水号自增,格式为:0000000001,0000000002... 0000000010请问要怎么做
...全文
379 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_quan_li 2009-06-06
  • 打赏
  • 举报
回复
//自动编号,带断号检测补号功能 20090212 add by wangquan
function createBH(){
$contact_no = date("Y").date("m").date("d"); //编号规则:年2位月2位日2位,后面是自动编号流水,带断号检测补号
$sql = "select contact_no from cx_contact where contact_no like '".$contact_no."%' order by contact_no asc";
$sql1 = "select contact_no from cx_contact where contact_no like '".$contact_no."%' order by contact_no desc";
$this->db->query($sql1);
if($this->db->next_record()){
$num=substr($this->db->Record["contact_no"],-3); //此处的数字3表示编号位数(001 002 003 .... )
//echo 'num='.$num;
if($num <> $this->db->num_rows){
$num = 0;
$this->db->query($sql);
while($this->db->next_record()){
$tnum = substr($this->db->Record["contact_no"],-3);
//echo 'tnum='.$tnum;
if($tnum - $num ==1)
$num = $tnum;
else
break;
//echo 'num='.$num;
}
}
}
else
$num=0;
//echo 'num='.$num;
$contact_no = $contact_no.sprintf("%'03s", $num+1);
return $contact_no;
}
调用这个函数得到的$contact_no就是你要的编号
v轻扬v 2009-06-05
  • 打赏
  • 举报
回复
要是在脚本里实现自增可以如下:

$x='0000000101';//假设的当前流水号
echo $x.'<br>';
$x=sprintf('%010s',intval($x)+1);//流水号递增
echo $x;
_________________________
执行结果:
0000000101
0000000102
v轻扬v 2009-06-05
  • 打赏
  • 举报
回复
在数据库中默认自增还是在PHP脚本中循环自增哦?
tfxg 2009-06-05
  • 打赏
  • 举报
回复
直接讀取原來最後一個流水號,然後去除前面的0,+1,補0,為最新流水號。一般是讀數據庫
xuzuning 2009-06-05
  • 打赏
  • 举报
回复
这样写

$fn = '流水号.txt'; //保存流水号的文件名,只要将这个文件删去流水号就重新开始
$n = @file_get_contents($fn) or $n = 0;
file_put_contents($fn, $n = sprintf("%010d", ++$n));
echo $n;

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧