1、首先说编号 : 编号的问题需要没有重复对吧?如果你使用了数据库的话,就要先从数据库中读出最大的编号,才能开始写下一个项目编号,你可以单独建立一个项目编号字段,也可以不建,取出来之后用用字符串函数截取,总之,这是一个不容易做到的问题。
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都成都三维植被网小微创业公司专业提供成都定制网站营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。
至于下个月的第一单,是否能够再重新开始,也是必须在这里完成的。
你可以在读取数据库内容的时候,加入日期查询条件,如果查询不到当月的记录,那么这个项目编号就再从01开始。
说得比较抽象,这只是原理,因为你连程序都没有,现在就算有人回答你,也只能是这样理论性地告诉你,不可能告诉你代码。
2、日期中的月份: 这个特别简单只要这样一个函数就搞定:date('m');
3、前面的S就不解释了。
最后,就是连接: 设:$result是你最后想得到的值,$munber是项目编号,$da是月份
那么:$result = 'S'.$da.$number; //这就是你想要得到的结果。
这个time()函数是将时间保存成时间戳格式,则要查当月数据,只要查当月第一天到当月最后一天的之间的数据即可。
假设这个用来判断的字段是date
sql语句
SELECT ………… WHERE………… `date` = 本月第一天的time值 AND `date` 下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
?php
$cur = date('Y-m',time());//当天年月
$cur_y = date('Y',time());//当天年份
$cur_m = date('m',time());//当天月份
$cur_f = $cur . '-1';//本月首日
$first = strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m=12){
$cur_n = ($cur_y+1) . '-1-1';
}else{
$cur_n = $cur_y . '-' . ($cur_m+1) . '-1';
}
$last = strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?
再把$first 和 $last 放入sql语句里面就可以查询到数据了
PHP查询到的数据存放到数组里面,一般使用$arr[]=$row的方式实现,$row是mysql_fetch_array获得的一行数据,本身是一个数组,执行上面的语句之后,这一行会添加存放在额为数组$arr的最后。
典型的例子代码是这样的:mysql_connect('127.0.0.1',
'root',
'123456');$sql='select
*
from
test.tab';if
($res=mysql_query($sql)){
while($row=mysql_fetch_array($res))
$result[]=$row;
mysql_free_resule($res);}else
echo
"执行SQL语句:$sql\n错误:".mysql_error();echo
'查询结果在下面的额为数组里面:';print_r($result);echo
'';