こんにちは、mySQL のテーブルに次の更新があります。
$dbBuilder = '';
foreach($_POST as $key => $value)
{
if ($value != 'APPROVE') {
$dbBuilder = $value . ", " . $dbBuilder;
}
}
$dbBuilder = '(' . rtrim($dbBuilder, ", ") . ')';
UPDATE userCase SET Accepted = 1 WHERE CaseNum in $dbBuilder
正常に動作します...しかし、CaseNumごとに新しいQNumを許可するように変更する必要がありました。
$result = mysql_query("SELECT QNum FROM userCase ORDER BY QNum DESC limit 1");
while($row = mysql_fetch_assoc($result)) {
$QNum = $row["QNum"] + 1;
break;
}
UPDATE userCase SET Accepted = 1, QNum = " . $QNum . " WHERE CaseNum in $dbBuilder
上記のようにすると、「in」のすべての CaseNumに対してQNumが同じ数に設定されます。一意である必要があります (新しい行ごとに QNum に 1 を追加するなど)。
テーブル内の最後の QNum よりも 1 だけ多くする必要があります。したがって、誰かがいくつかのことを「承認」すると(たとえば 3つとしましょう) 、上記のクエリに移動し、そうする必要があります(DB の最後の数字が 4 であるとしましょう) 。私が今持っているコードは5,5,5を行うだけです。
上記のコードで同じCaseNumを使用してこれを達成するにはどうすればよいですか?
ありがとう!