点击按钮,生成一个序列号,按日期和序号排列,序号初始值为0001。例如今天是9月30日,则生成序列号20110930 0001.请问这个序号如何生成?
解决方案 »
- PHP使用了自己写的中文字符串截取函数,超出一定长度的字符用“……”代替,但是出现下面的错误?
- 【【【【php-多个input text传值问题】】】】
- php :Call to undefined function FileExtension() php不支持这个函数 ,怎么整哦 ??
- 一个诡异的问题(PHP)
- mysql怎么样保证我在操作表cash_ledger中的一条记录时不在我操作的过程中别人先操作了。
- 购物车实现以后,如何把session中的购物信息在结账时插入数据库啊
- 请教!!wap中,我的头信息中的x-up-calling-line-id,为何用java能得到,php为何却得不到?请各位高手帮忙啊。。。
- 发送html格式的邮件,其中的图片怎么处理?
- 怎样在页面中显示SYBASE数据库中的image类型的字段数据,请大虾帮忙!
- 为什么我机子上的$PHP_SELF变量没有起作用?
- php菜鸟。。。想问??
- php基础问题
$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;
}示例代码。
不是很明白这个意思啊。 $sql = "select * from link where date_format(time ,'%Y-&m-%d')='".$date."' order by time desc limit 1";这句何解啊?
查询当天的数据记录是否存在,不存在的话插入当天的记录,存在的话update为最新的。
那句sql的意义是 先查询有没有今天的日期 没有的设为 0001
if ($is_query)
{
$date = date("Y-m-d");
$sql = "select * from link_rk where date_format(time ,'%Y-&m-%d')='".$date."' order by time desc limit 1";
$date2 = date("Ymd");
// echo $sql;
$res = mysql_query($sql);
$result = mysql_fetch_array($res);
if(!$result){
$num = "0001";
$serilize = $date2.$num;
mysql_query("insert into link_rk(serilize_num,time) values('".$serilize."','".$date."')");
}
else{
$num = substr($result['serilize_num'],8,4);
$serilize = $date2.$num;
mysql_query("update link_rk set serilize_num='".$serilize."' where id=".$result['id']."");
}
echo $serilize;
echo '<br />';
}
$num = intval(substr($result,8,4)) + 1;
$num = sprintf("%04d",$num);
$serilize = $date.$num;
mysql_query("update link_rk set serilize_num='".$serilize."' where id=".$result['id']."");
}
CREATE TABLE IF NOT EXISTS `serial` (
`prefix` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
)
插入时执行INSERT INTO `test`.`serial` (`prefix`, `id`) VALUES (CURRENT_TIMESTAMP, NULL);
取回时执行
SELECT concat(date_format(prefix,'%Y%m%d'),id) as No FROM `serial` order by id desc limit 1
每天第一次插入时先执行
TRUNCATE TABLE `serial`