首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >else语句不触发else

else语句不触发else
EN

Stack Overflow用户
提问于 2015-02-07 17:38:47
回答 2查看 49关注 0票数 0

我正在尝试创建一个脚本,如果日期晚于今天,那么它将在MySQL中显示表格中的项目。

代码语言:javascript
复制
$query = $dbc->query("SELECT event_id, name, location, image, DATE_FORMAT(Date, '%d-%b-%Y') AS Date, Date as FormatDate
                    FROM events
                    ORDER BY FormatDate ASC
            ");
            $results = $query->setFetchMode(PDO::FETCH_ASSOC);
                while($row = $query->fetch()){
                    $name = $row['name'];
                    $image = $row['image'];
                    $location = $row['location'];
                    $Date = $row['Date'];
                    $Date = strtotime($Date);
                    $Date = date('d-M-Y', $Date);
                    $Data = explode("-", $Date);

                        if (strtotime($Date) >= time()){
                        $page->body("
                            <div class=\"event\">test
                                    <img src=\"$image\" alt=\"$name\" class=\"event_image\"/> 
                                    <p class=\"event_title\">$name</p>
                                    <p class=\"event_location\">$location</p>
                                    <p class=\"event_time\">$Data[0] $Data[1] $Data[2]</p>
                            </div>
                            ");
                    }else{

                $page->body ("
                        <!-- alrge grey text 100% span -->
                            <div class=\"event\">
                                <p>There are currently no events happening.</p>
                            </div>

                            ");     
            }

                }

        }

当我将一个日期晚于今天的事件添加到表中时,它会成功添加,并且脚本会运行,并且我可以在页面上看到打印出来的事件,因为日期大于时间()。

但是如果我清除所有事件的MySql表,那么它不会返回else语句“当前没有事件发生”。

如果表中没有比今天晚的内容,为什么else语句不能返回失败的通知,这让我感到困惑。

任何帮助都非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2015-02-07 17:44:17

但是如果我清除了MySql表中的所有事件,那么它就不会返回else语句“当前没有事件发生”。

只有在有行要处理时,才会执行while语句。因为您已经清空了表,所以它永远不会进入while循环,也永远不会遇到else分支。

票数 2
EN

Stack Overflow用户

发布于 2015-02-07 17:47:52

因为没有要获取的行,并且当表为空时,您的代码不会进入while循环。

哈!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28380590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档