【问题标题】:enable button only if older than 90 days仅在超过 90 天时启用按钮
【发布时间】:2014-03-24 08:04:51
【问题描述】:

美好的一天

我有一个删除按钮,可以删除我的数据库中的条目,问题是我想禁用该按钮,并且只有在它超过 90 天时才启用它。

我使用了这段代码,它正在工作,但如果它不超过 90 天,它仍然会回复“成功删除”,尽管它实际上并没有被删除,这就是为什么我认为禁用删除按钮并只启用它会更容易如果条目超过 90 天

请帮忙

谢谢你

$sql="DELETE FROM client_post WHERE id = '$id' AND date < DATE_SUB(NOW(), INTERVAL 90 DAY)";
$result=mysql_query($sql);        


if($result){
         echo('Entry '.$id.' successfully deleted <br>');
} else{
         echo('<br>Failed to delete');
};

【问题讨论】:

    标签: php sql button


    【解决方案1】:

    将 if 语句更改为:

      if($result && mysql_affected_rows() > 0){
    

    您的代码的问题是您正在检查 $result 是否为真,而 $result 只是 mysql_query() 结果的标识符。您还应该检查受查询影响的行数。

    【讨论】:

    • 正是我想要的。谢谢
    【解决方案2】:

    你能展示剩下的代码吗?

    我猜您想检查是否有任何超过 90 天的条目,该按钮已启用。

    您是否有某种列表显示所有条目,并且在每个条目上都有一个删除按钮?

    要回答您的实际问题,您需要向我们提供更多代码。

    【讨论】:

      【解决方案3】:

      正如 michal 所说,您可以使用受影响的行来实际检查一行是否被删除:

      if($result && mysql_affected_rows() > 0){
      

      如果您仍想禁用可以使用的按钮

      SELECT 
           IF( DATEDIFF( CURRENT_DATE( ), date ) > 90, 1, 0 ) 
      FROM 
           client_post
      WHERE
           id = $id
      

      这将根据条目年龄返回真或假。取决于您是否可以显示按钮。

      另外,看看PDO 会更好。 MySQL api 已弃用。

      【讨论】:

        猜你喜欢
        • 2020-08-25
        • 1970-01-01
        • 1970-01-01
        • 2021-10-28
        • 1970-01-01
        • 2021-03-03
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        相关资源
        最近更新 更多