+ -
当前位置:首页 → 问答吧 → 计数问题

计数问题

时间:2011-09-30

来源:互联网

点击按钮,生成一个序列号,按日期和序号排列,序号初始值为0001。例如今天是9月30日,则生成序列号20110930 0001.请问这个序号如何生成?

作者: lazygc520   发布时间: 2011-09-30

初始是0001
如果超过四位呢,怎么处理。

作者: ohmygirl   发布时间: 2011-09-30

不会超过。

作者: lazygc520   发布时间: 2011-09-30

新一天又是从0001开始。

作者: lazygc520   发布时间: 2011-09-30

str_pad补0吧。。。。

作者: yunprince   发布时间: 2011-09-30

数据库 表:link 字段:id,serilize_num,time(date)

index.php
PHP code

<a href ='index.php?action=add'>点击我</a>

if(isset($_GET['action']) && $_GET['action']=='add'){
 $date = date("Y-m-d"); 
 $sql = "select * from link where date_format(time ,'%Y-&m-%d')='".$date."' order by time desc limit 1";
 $res = mysql_query($sql);
 $result = mysql_fetch_array($sql);
 if(!$result){
   $num = "0001";
   $serilize = $date.$num;
   mysql_query("insert into link(serilize,time) values('$serilize','$date')");
  }
 else{
   $num = substr($result['serilize_num'],8,4);
   $serilize = $date.$num;
   mysql_query("update link set serilize='$serilize' where id=$result['id']");
 }
 echo $serilize;
}


示例代码。
 

作者: ohmygirl   发布时间: 2011-09-30

引用 5 楼 ohmygirl 的回复:

数据库 表:link 字段:id,serilize_num,time(date)

index.php
PHP code

<a href ='index.php?action=add'>点击我</a>

if(isset($_GET['action']) &amp;&amp; $_GET['action']=='add'){
$date = date("Y-m-d");
$……


不是很明白这个意思啊。

 $sql = "select * from link where date_format(time ,'%Y-&m-%d')='".$date."' order by time desc limit 1";

这句何解啊?

作者: lazygc520   发布时间: 2011-09-30

为防止序号重复,你需要保存最后一次生成的序号

你打算用什么方式保存呢?
文件?数据库?还是...

作者: xuzuning   发布时间: 2011-09-30

引用 6 楼 lazygc520 的回复:

引用 5 楼 ohmygirl 的回复:

数据库 表:link 字段:id,serilize_num,time(date)

index.php
PHP code

<a href ='index.php?action=add'>点击我</a>

if(isset($_GET['action']) &amp;amp;&amp;amp; $_GET['action']==……


查询当天的数据记录是否存在,不存在的话插入当天的记录,存在的话update为最新的。

作者: ohmygirl   发布时间: 2011-09-30

我是否能获得记录查询的次数?通过session。

作者: lazygc520   发布时间: 2011-09-30

引用 7 楼 xuzuning 的回复:

为防止序号重复,你需要保存最后一次生成的序号

你打算用什么方式保存呢?
文件?数据库?还是...

保存一个变量可以么?

作者: lazygc520   发布时间: 2011-09-30

引用 9 楼 lazygc520 的回复:

我是否能获得记录查询的次数?通过session。

如果你要获取查询总次数的话,每次查询都入库,不要更新,最后取count(0)就可以。session是不可靠的,可能被清除。

作者: ohmygirl   发布时间: 2011-09-30

那存在数据库吧,就是每次入库的时候判断哈,如果数据库没数据就说明是新的一天,就从0001开始累加。

作者: yunprince   发布时间: 2011-09-30

引用 10 楼 lazygc520 的回复:

引用 7 楼 xuzuning 的回复:

为防止序号重复,你需要保存最后一次生成的序号

你打算用什么方式保存呢?
文件?数据库?还是...

保存一个变量可以么?
不可以!

作者: xuzuning   发布时间: 2011-09-30

5楼的代码挺清楚的了
那句sql的意义是 先查询有没有今天的日期 没有的设为 0001

作者: heyli   发布时间: 2011-09-30

引用 11 楼 ohmygirl 的回复:

引用 9 楼 lazygc520 的回复:

我是否能获得记录查询的次数?通过session。

如果你要获取查询总次数的话,每次查询都入库,不要更新,最后取count(0)就可以。session是不可靠的,可能被清除。

其实是这样的,我通过按钮查询数据库库获得相应的数据并生成表单,并生成一个查询表单的记录号。形式”Y-m-d 0001“,初始值为”0001“,根据查询的次数递增(+1)。生成的总数不会超过4位。

作者: lazygc520   发布时间: 2011-09-30

引用 13 楼 xuzuning 的回复:

引用 10 楼 lazygc520 的回复:

引用 7 楼 xuzuning 的回复:

为防止序号重复,你需要保存最后一次生成的序号

你打算用什么方式保存呢?
文件?数据库?还是...

保存一个变量可以么?
不可以!

数据库操作怎么处理?需要建立新表?

作者: lazygc520   发布时间: 2011-09-30

请教各位。

作者: lazygc520   发布时间: 2011-09-30

相关阅读 更多