正確な解決策を得るには、より多くのデータが必要です(私の意見では)。しかし、私は変数を使ってupdate文を作成し、$ _POSTデータを反復することでPHPで達成できることを信じています(これはテストされていません)。
//assumes control names on form = field names in db
$strSQL = "UPDATE tblWhatever SET ";
$fieldsAndvalues = "";
$markers = "";
foreach($_POST as $key => $value)
{
if ($value <> "") {
//code to check for $value's data type and set $marker to what is
//appropriate (e.g., string set $markers to "'", if numeric set to "", etc.)
$fieldsAndvalues .= $key . "=" . $marker . $value . $marker . ","
}
}
//Remove final comma (,), build final SQL statment, execute statement
if ($fieldsAndvalues <> "") {
$strSQL .= substr($fieldsAndvalues,0,-1) . " WHERE <whatever criteria is used>";
//execute query with whatever error checking and such you require
}
"ユーザーが1つまたは2つのフィールドを50から更新している場合、更新クエリは最小限のフィールドでなければなりません" - なぜですか? – Quentin
これまでに何を試してみましたか –
更新文は一般的に課税対象とはなりません。興味深い質問がありますが、更新されたものから動的にステートメントを構築することについては心配すべきではありません。主にDB(SQLまたはNoSQL)のタイプに依存します。 – DDelgro