gpt4 book ai didi

PHP - 从 mysql 表值中减去一个数字

转载 作者:行者123 更新时间:2023-11-29 01:37:21 25 4
gpt4 key购买 nike

这可能看起来有点奇怪,但它对我来说很重要。这是我正在制作的游戏。所以基本上,我的用户在我的网站上有自己的帐户。我有不同的计划供他们选择,每个计划每月的费用不同。

我想要做的是拥有 4 个独立的 PHP crons,根据他们选择的计划,每个月自动从他们的账户中扣除一定的金额。例如,如果用户有“终极”计划,目前他们的帐户中有 1,049.99 美元,我希望它从数据库中的“余额”行中减去 49.99,然后将表更新为 1000.00(因为它已减去计划金额)。

在注册时,数据库会加载值“chargeday”,该值基本上是用户注册月份的日期。我希望 cron 每天运行(我知道该怎么做),并且仅当当前日期等于数据库中列出的收费日时才运行此代码。 (我一直在运行这段代码,删除了 if ($chargeday == date("d")) {} 行。

我已经尝试了以下方法,但我无法让它按照我想要的方式工作:

<?php
$servername = "localhost";
$username = "myusername";
$password = "mypassword";
$dbname = "advenaio_myaccount";

$chargeday = date("d");
if ($chargeday == date("d")) {

$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT email, plan, balance FROM advaccounts WHERE plan='ultimate'";
$result = $conn->query($sql);

$ultimateplan = "49.99";
$currentbalance = $row['balance'];
$newbalance = $currentbalance-$ultimateplan;

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "plan: " . $row["plan"]. "<br>balance: " . $row['balance'] . "<br>new balance: " . $newbalance . "<br>email address: " . $row['email'] . "<br><br> ";
}
} else {
echo "0 results";
}

$sql = "UPDATE advaccounts SET balance=$newbalance WHERE plan='ultimate'";

if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

如果我的问题没有意义,我很抱歉,我真的需要它来工作,而且我有点迫切希望它能工作。这是数据库的结构:

用户名 |姓名 |电邮 |域名 |用户名 |密码 |计划 |余额|约会 |充电日 |子状态 |中投

最佳答案

您可以使用下面的sql 直接使用一条sql 来更新余额。无需编写 php 逻辑。

$sql = "UPDATE advaccounts SET balance=balance-49.99 WHERE plan='ultimate' and chargeday = '" . date('d'). "'";  

关于PHP - 从 mysql 表值中减去一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37314830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com