簡體   English   中英

如何在不更改 php 中的舊日期值的情況下更新日期?

[英]How do I update date without changing the older date value in php?

我正在創建提款 function,用戶只能在其中批量提款。 如果他們在同一天進行交易。 他們只能在后天收回。 這意味着他們不能在進行交易的同一天取款。 但是當用戶想要取錢時我遇到了問題。 舊的 date_claim 也發生了變化。

---------------------
|id   |transac_date | total | status  | date_claim |
--------------------------------------------------
|abc1 | 2020-10-07  | 98   | claimed  | 2020-10-10 |
|abc1 | 2020-10-22  | 124  |unclaimed | null       |
|abc1 | 2020-10-24  | 145  |unclaimed | null       |

在這種情況下,用戶試圖transaction date on 2020-10-22


if(isset($_POST['withdraw']))
{
   $id= $_GET['id'];
   $sql="UPDATE tbl_kqd SET status ='claimed', date_claim = CURRENT_DATE()
        WHERE id = '$id' AND 
        DATE(transac_date) !=CURRENT_DATE() ";
   $sql_claim = mysqli_query($link, $sql);
   
   if (mysqli_affected_rows($link) > 0){
    echo "<script>alert('Successfully Claimed!')</script>";
    echo "<script>window.location = 'claim.php'</script>";  
   }
  else
    echo "<script>alert('Please try tomorrow!')</script>";
}


//the output


---------------------
|id   |transac_date | total | status  | date_claim |
--------------------------------------------------
|abc1 | 2020-10-07  | 98   | claimed  | 2020-10-24 |
|abc1 | 2020-10-22  | 124  | claimed  | 2020-10-24 |
|abc1 | 2020-10-24  | 145  |unclaimed | null       |

該查詢也使舊日期發生了變化。 我不希望它更改已聲明的日期。 我該如何解決這個問題?

在數據庫中,我將date_claim as date

發生這種情況是因為您的 Id 在 3 行上是相同的。! 為每一行創建一個唯一的 id 將修復它。

---------------------
|id   |transac_date | total | status  | date_claim |
--------------------------------------------------
|abc1 | 2020-10-07  | 98   | claimed  | 2020-10-24 |
|abc2 | 2020-10-22  | 124  | claimed  | 2020-10-24 |
|abc3 | 2020-10-24  | 145  |unclaimed | null       |

我知道您想更新給定id的第一個“無人認領”行,並且其transac_date與今天不同。 這是一種表達方式:

update tbl_kqd 
set status ='claimed', date_claim = current_date()
where id = ? and transac_date <> current_date and status = 'unclaimed'
order by transac_date 
limit 1

MySQL 支持order by in update語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM