php小白,做的日历有源码,求大神帮看看问题在哪里,感激不尽

现在是$result_day肯定有3数据,$i里是一月28天,我分别用$result_day=“10”和“10”=$i的形式判断过,可以正常变化css颜色,但是一到$re... 现在是$result_day肯定有3数据,$i里是一月28天,我分别用$result_day=“10”和“10”=$i 的形式判断过,可以正常变化css颜色,但是一到$result_day!= $i的时候就只变色一个,请问为什么这两个不能比较呢?$result_day="";$day_color=array();while($result_cal = $stmt_cal->fetch(PDO::FETCH_ASSOC)){//sql循环遍历$result_day=substr($result_cal[date],8);//截取日期中的dayarray_push($day_color,$result_cal["data"]);//存进数组里}for($i=1;$i<=$days;$i++){//循环每月所有天数(日历)$result_day=substr($day_color[$i-1],8);//截取日期中的day$i=sprintf ( "%02d",$i);//补足两位if($result_day!= $i){//对比sql里查出的day(特殊日子)和循环每月的天数$header.="<td class='day'>".$i."0"."</td>";}else{$header.="<td class='specialDay'>".$result_day."1"."</td>";} 展开
 我来答
miniappcy3tv95eaedrf
2019-01-23 · TA获得超过2363个赞
知道大有可为答主
回答量:1909
采纳率:92%
帮助的人:1118万
展开全部

代码逻辑就有问题

你的sql循环遍历里截取了一次day应该是无用代码,下面把数据存入数组中写的键名 data  和前面写的date并不一样。你自己检查一下有没有问题。

另外 你的判断日期是否特殊日期的逻辑里,是根据数组索引 $i 来判断的,你能保证从数据库取出的数据是按天排序每天都有的吗?

一般做日期判断可以把数据拉出来按日期索引 ,这样后面日期判断的时候根据键名来判断就比较准确了。

//存入标志数组
$day_color[$row['date']]=true;

for(...){
    $date=sprintf ( "%02d",$i);
    if(!empty($day_color['2019-01-'.$date])){
        ...
    }else{
        ...
    }
}
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
福密机b
2019-01-23
知道答主
回答量:42
采纳率:0%
帮助的人:2.7万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式