54/9 2 ==> 108/18 3 ==> 162/27 4 ==> 216/36 5 =-6ren">
gpt4 book ai didi

php - 如何添加剩余值

转载 作者:行者123 更新时间:2023-11-29 07:28:57 25 4
gpt4 key购买 nike

$get_data = "SELECT * FROM stats WHERE x < max_x and y < max_y";
$get_data_query = mysqli_query($conn,$get_data);

while ($data= mysqli_fetch_assoc($get_data_query)) {

$update = "UPDATE stats SET
x = x + (max_x / 11.11111111111111),
y = y + (max_y / 11.11111111111111)

WHERE id = '".$data['id']."' ";

mysqli_query($conn,$update); }

在上面的数据中,我有一个代码来确定每个用户的 max_x 和 max_y 值
我正在尝试将上面的代码用作“cron 作业”

但是有一个问题。
让我们考虑案例 1:
max_x = 600,max_y = 100
如果我运行这段代码 11 次,它会看起来像这样

 ==>  X/Y

1 ==> 54/9

2 ==> 108/18

3 ==> 162/27

4 ==> 216/36

5 ==> 270/45

6 ==> 324/54

7 ==> 378/63

8 ==> 432/72

9 ==> 486/81

10 ==> 540/90

11 ==> 594/99

情况 2:max_x = 1200,max_y = 200

...11 ==> 1188/198

那么我如何确保在这种情况 1 中添加了 X = +6 和 Y = +1
在案例 2 中,X = +12 且 Y = +2

比如,我如何确保在不超过 max_value 的情况下添加“剩余”值

最佳答案

在 php 中执行计算部分,这样更容易(也更适合)实现程序逻辑,然后只需将新值传递给更新脚本即可。

$get_data = "SELECT * FROM stats WHERE x < max_x and y < max_y";
$get_data_query = mysqli_query($conn,$get_data);

while ($data= mysqli_fetch_assoc($get_data_query)) {
// added one-liners if you want a bit cleaner code
// $x_new = $x + ($max_x / 11.11111111111111) < $max_x ? x + (max_x / 11.11111111111111) : $max_x;
// $y_new = $y + ($max_y / 11.11111111111111) < $max_y ? y + (max_y / 11.11111111111111) : $max_x;
$x_new = $x + ($max_x / 11.11111111111111);
if ($x_new > $max_x) {
$x_new = $max_x;
}
$y_new = $y + ($max_y / 11.11111111111111);
if ($y_new > $max_y) {
$y_new = $max_y;
}
$update = "UPDATE stats SET
x = '".$x_new."',
y = '".$y_new."'

WHERE id = '".$data['id']."' ";

mysqli_query($conn,$update); }

关于php - 如何添加剩余值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52489376/

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