1
我有這個PHP:如何用PHP增加MySQL數據庫中的某些行?
$adj_index = $currentSignup + 1 - $r;//$r=3 and $currentSignup=24
for($i=1; $i<$referrals; $i++){
$current_index = $currentSignup + 1 - $i;
$q = "SELECT signup_id FROM app_sign_ups WHERE (adjusted_index='$current_index' AND app_id='$app_id')";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
$next_index = $current_index + 1;
if (mysqli_num_rows($r) == 1){
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
$signuper = $row['signup_id'];
$q = "UPDATE app_sign_ups SET adjusted_index='$next_index' WHERE (app_id='$app_id' AND signup_id='$signuper')";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
}
}
$q = "UPDATE app_sign_ups SET adjusted_index='$adj_index' WHERE app_s_id='$app_s_id'";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));
它應該在我的數據庫更新的行。每行有一個從1到25的值(adjusted_index
)。有了它,我拿到了25號,22號(通過從原來的號碼[25]中刪除$r
),並將前一個22-24各移動一個(到23,24,25)。由於某種原因,當我運行它導致22,24,25,22而不是23,24,25,22就像我想要的那樣。我已經做了一些其他組合,看起來有adjusted_index
被最後一行替換(22被25替換)。