【问题标题】:retrieve data from database based on closest date to today根据距今天最近的日期从数据库中检索数据
【发布时间】:2021-10-13 02:26:22
【问题描述】:

在我的网站中,当用户单击一个按钮时,它会将他们带到一个页面并从具有日期列的数据库中检索数据,并在 div 中动态显示数据,如果它显示一个删除该行的按钮有一个未来的日期或者是今天的日期,问题是它首先根据在数据库中输入的内容显示检索到的数据,所以你会先找到一些没有删除按钮的 div,然后是带有删除按钮的 div,我想要首先显示具有删除按钮(具有未来日期或今天日期)的 div,最好是最接近今天的日期,然后是没有它的 div,我该怎么做?

 $stmt = $db->prepare("SELECT * FROM info WHERE phone = :phone");
    $stmt->bindParam(':phone',$_SESSION['phone']);
    $stmt->execute();
    $row=$stmt->fetchAll();
    
   
    
   if($row)   
   { ?>
       // irrelevant echos from database
             
       <p> date: <?php echo $stmt["date"];?></p>

       
       <?php if(date("Y-m-d") <  $stmt["date"] )
             {?>
            
              <button class="delete-button" name="formSubmit" value="delete">Delete</button>
                  
             <?php } 
             ?>
   }
    

【问题讨论】:

  • 在查询中使用ORDER BY date DESC。你知道 SQL 中的 ORDER BY 吗?
  • 哦,我知道,但我不知道我可以根据我拥有的特定列使用它来描述 facepalm

标签: php sql pdo


【解决方案1】:

使用

ORDER BY date DESC

在 SQL 查询中。这将按日期排序,最近的在前。

SELECT * FROM info WHERE phone = :phone ORDER BY date DESC

【讨论】:

    猜你喜欢
    • 2021-06-05
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 2021-07-30
    • 2013-08-19
    • 1970-01-01
    相关资源
    最近更新 更多