大家帮忙看看这个东西,有一个bug始终解决不了 复制到记事本上,在php环境下运行就可以了.始终有个bug是在2006年,遇到2月,4月,7月,12月就少了几天.不知是哪里的逻辑出错了.有的月份就没事有的月份就少了几天.请大家帮忙指出逻辑错误.我写的已经晕头转向了.实在看不出哪里逻辑有问题.谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 漏洞百出,很多月份有死循环你要重新换一种思路while($daynum < $Maxday_count)这个逻辑绝对是错的因为$Maxday_count总是31,但$daynum某些月份内循环<31就break了,所以外循环就死转了整个思路是严重的失误!!!我奇怪你用date()去判断星期几,为何不用date()去判断大小月和闰月呢??? $Maxday = range(1, date('t', strtotime("$Year-$Month-01")));去掉判断月天数的代码,再试 为什么不用date函数来判断日期呢?非要自己写??? 我改动了两个地方,BUG不见了。其一:外层循环的条件while($daynum < $Maxday_count)改为while($colnum < $Maxday_count)其二:内层循环的条件if($daynum % 7 == 0)改为if(($daynum % 7 == 0)||($colnum == $Maxday_count)) 对原程序中处理增减月份的部分进行了润色,使之能够实现:连带年份的变化。代码如下:<td colspan=3 align=center><a href="calendar.php?Year=<? if($Month==1) echo $Year-1; else echo $Year;?>&Month=<? if($Month==1) echo "12"; elseif($Month>10) echo $Month-1; else echo "0".($Month-1);?>" onClick="javascript:document.linked.submit();" name="Month"><<</a> <?=$Month;?> <a href="calendar.php?Year=<? if($Month==12) echo $Year+1; else echo $Year;?>&Month=<? if($Month==12) echo "01"; elseif($Month>=9) echo $Month+1; else echo "0".($Month+1);?>" onClick="javascript:document.linked.submit();" name="Month">>></a></td> 把按钮提交表单形式改为超链接提交形式后无法直接登录!!按钮提交可以,超链接不行,求教 !!!!!!! 求助用PHP生成XML文件 HTML表单中文数据上传至数据库 出现乱码“???” 跨站提交和接收数据的问题 帮忙看看js兼容性问题 如何用session控制有特定时间限制的问题。 首次用调试php处理xml的程序? 请问怎么在php里修改xml文件? 高分求php发邮件源码 应该怎么配置呢? 我是如何进入IBM的!!!!!!! 我这样的条件,做怎么样的工作较为合适?
你要重新换一种思路while($daynum < $Maxday_count)这个逻辑绝对是错的
因为$Maxday_count总是31,但$daynum某些月份内循环<31就break了,所以外循环就死转了整个思路是严重的失误!!!
我奇怪你用date()去判断星期几,为何不用date()去判断大小月和闰月呢???
其一:外层循环的条件while($daynum < $Maxday_count)改为while($colnum < $Maxday_count)
其二:内层循环的条件if($daynum % 7 == 0)改为
if(($daynum % 7 == 0)||($colnum == $Maxday_count))
代码如下:
<td colspan=3 align=center>
<a href="calendar.php?Year=<? if($Month==1) echo $Year-1; else echo $Year;?>
&Month=<? if($Month==1) echo "12"; elseif($Month>10) echo $Month-1; else echo "0".($Month-1);?>"
onClick="javascript:document.linked.submit();" name="Month"><<</a>
<?=$Month;?>
<a href="calendar.php?Year=<? if($Month==12) echo $Year+1; else echo $Year;?>
&Month=<? if($Month==12) echo "01"; elseif($Month>=9) echo $Month+1; else echo "0".($Month+1);?>"
onClick="javascript:document.linked.submit();" name="Month">>></a></td>