美好的一天
我有一个删除按钮,删除我的数据库中的条目,问题是我想要禁用该按钮,只有在超过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');
};
答案 0 :(得分:0)
将if语句更改为:
if($result && mysql_affected_rows() > 0){
您的代码问题在于您正在检查$ result是否为true,而$ result只是mysql_query()结果的标识符。您还应该检查受查询影响的行数。
答案 1 :(得分:0)
你能展示其余的代码吗?
我想您要检查是否有超过90天的条目,该按钮已启用。
您是否有某种列表显示所有条目,并且每个条目都有一个删除按钮?
要回答您的实际问题,您需要向我们提供更多代码。
答案 2 :(得分:0)
正如michal所说,你可以使用受影响的行来实际检查行是否被删除:
if($result && mysql_affected_rows() > 0){
如果你仍然想要禁用按钮,你可以使用
SELECT
IF( DATEDIFF( CURRENT_DATE( ), date ) > 90, 1, 0 )
FROM
client_post
WHERE
id = $id
这将根据条目年龄返回true或false。根据您的不同,您可以显示按钮。
另外,请更好地了解PDO
。 MySQL api已被弃用。