javascript - 将变量保留在 while 循环的最后一次迭代中

标签 javascript php mysql

我的代码陷入了困境。变量 $end_date 在 while 循环中迭代,以显示五个章节的结束日期。现在,根据这个变量,我必须显示一个警报框。我的问题是,当找到最后一章的结束日期时,会弹出警告框,该警告框无效,因为对于其他四章,结束日期已延长。如何仅保留最后一章的结束日期,并且警报框条件不应匹配。我对此进行了很多尝试,但无法为此建立逻辑。帮助或建议将不胜感激。

  if((strtotime($today_date) >= strtotime($end_date) || ( $pass_count == 0 && $status_request != 2 && $status_request != 0 ) ) )
  {


 echo ("<SCRIPT LANGUAGE='JavaScript'>
       mess1='Your exam validity date has been expired. Click OK to request for extending your Quiz validity or you can ignore by clicking Cancel.'  

       x = confirm(mess1);
       if (x == true)  
   {
       window.location = 'validity_request_mail.php?userid=$userid ';    

   } 

       </SCRIPT>");

 }

最佳答案

解决方案

我们可能会引入一个名为 $last_date 的新变量,用于捕获所有章节的“最大”结束日期。

问题似乎是在 while() 循环之后,设置了 $end_date,它应该是最后一个日期。然而,最后(第 5 次迭代)在其他章节的其他 $end_date 之前有一个 $end_date,因此显示 confirm() 框不正确(因为有些章节尚未过期)。

所以这应该可以解决这个问题:

while (...) { 
    ... 
} 
... 
// snippet in OP's post

致:

$last_date = '';
while (...) { 
    ... 
    if ( strtotime($end_date) > strtotime($last_date) ) { 
        $last_date = $end_date; 
    } 
} 
... 
$end_date = $last_date; // continue with snippet in OP's post

关于javascript - 将变量保留在 while 循环的最后一次迭代中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47236021/

相关文章:

javascript - 使用 Jquery 隐藏所选项目

php - $_SERVER ['HTTP_HOST' ] 也包含端口号 =/

php - 通用 SQL 语法错误 1064

php - 无法使用 http post 和 PHP 将值保存在数据库中

javascript - 使用查询小部件将 ActiveX 控件动态加载到页面上

javascript - 无法读取来自 insta 的 json

javascript - Twitter-Bootstrap Modal 无法正常工作

PHP 请求所选商品的价格

function - MySQLdump 因例程挂起

mysql - 将数据插入其主键由 2 列组合的表