Php 如何添加剩余值
案例2:最大x=1200,最大y=200Php 如何添加剩余值,php,mysql,Php,Mysql,案例2:最大x=1200,最大y=200 ==> 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 那么,如何确保在这种情况下添加X=+6和Y=+1呢 在
==> 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
那么,如何确保在这种情况下添加X=+6和Y=+1呢
在情况2中X=+12和Y=+2
如中所述,如何确保添加“剩余”值而不超过最大值?在php中执行计算部分,在那里更容易(更合适)实现程序逻辑,然后只需将新值传递给更新脚本
...11 ==> 1188/198
$get\u data=“从统计数据中选择*,其中x$max_x){
$x_new=$max_x;
}
$y_new=$y+($max_y/11.11111);
如果($y_new>$max_y){
$y_new=$max_y;
}
$update=“更新统计数据集
x=“$x_新。”,
y=“$y_新”
其中id='“$data['id']。”;
mysqli_查询($conn,$update);}
未定义变量x_new和y_new@Simas joneli更新了代码。在写答案时混淆了不同的命名策略…再次,修复了一些缺少的$
符号-可能这就是问题所在。很抱歉输入得很糟糕~~是的,我使用了不同的变量而不是$data,整个事情都搞砸了,但感谢它现在工作正常。
...11 ==> 1188/198
$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); }