php - Update numbers in table with variable and update variable -
as can see table below user id of 1 has 10 points altogether
i'm trying have 1 number submitted form $edit_points loop through , subtract user 1
number eg:
$edit_points = 6
subtract 4 first record
move next , subtract remainder 2
break out of loop
userid | totalpoints ------------------- 1 | 4 1 | 4 1 | 2 4 | 3 3 | 3 5 | 4 this i've got far
$pointleft = $edit_points;//sent form while($point = mysqli_fetch_array($output)){ if($pointleft > $point["totalpoints"]){//if pointsleft more record $remainder = $pointleft-$point["totalpoints"];//get remainder $query2 = "update pointstable set totalpoints=0 userid=".$userid; $output2 = $mysqli->query($query2); }elseif($pointleft < $point["totalpoints"]){ $remainder = $point["totalpoints"] - $pointleft; $query2 = "update pointstable set totalpoints=".$remainder." userid=".$userid; $output2 = $mysqli->query($query2); } $pointleft = $remainder; } it works point , seems populate records same last value remainder holds i've tried break , putting if ($pointleft<=0) above first if
none works.
help? or better way of doing preferably using php
thanks marty
revised code below
there's unique id pointid use
$poinstleft = $edit_points; //sent form while($point = mysqli_fetch_array($output)){ //if pointsleft more record if($poinstleft >= $point["totalpoints"]){ //get remainder echo $poinstleft." "; $remainder = $poinstleft-$point["totalpoints"]; $query2 = "update pointstable set totalpoints=0 userid=".$userid." , pointid=".$point["pointid"]; $output2 = $mysqli->query($query2); // calculate new pointsleft $poinstleft = $remainder; } elseif ($poinstleft < $point["totalpoints"]){ $remainder = $point["totalpoints"] - $poinstleft; echo $poinstleft." "; $query2 = "update pointstable set totalpoints=".$remainder." userid=".$userid." , pointid=".$point["pointid"] ; $output2 = $mysqli->query($query2); // here, remainder different upper half of if-function! // so, don't have recalculate pointsleft... it's just: $poinstleft = 0; // break while loop: break 2; } }
Comments
Post a Comment