0

PHPを使用してデータベースから動的に生成されたテーブルがあります(それ自体が私にとって勝利でした)。ユーザーは、必要な数のフィールドとレコードに変更を入力できます

送信を押すと、更新されたレコードがデータベースで更新されます。変更されていないものも含め、すべてのレコードを更新することでおそらくうまくいくでしょうが、それはちょっと不自由です. 次のようなデータ文字列をシリアル化することになりました。

category=Phone&error_level=1&service_name=API&status=Critical¬es=None&category=Phone&error_level=1&service_name=Inbound+Calls&status=Critical¬es=None&category=Phone&error_level=2&service_name=Outbound+Calls&status=Minor+issue¬es=None&category=Consumer&error_level=1&service_name=www.website1.com&status=Critical=Critical&status=Criticalなし&category=消費者&error_level=…</p>

ただし、どうすればよいかわかりません。つまり、このクエリ文字列をどうすればよいかわかりません。すべての行のすべての値が含まれるようになりました。これをどのようにレコードに分割し、データベースでそれらを更新するにはどうすればよいですか?

それらを正規表現で行に分割し、リストを反復処理することを検討しました...しかし、それは私にはハッキリしているようです。何かご意見は?

4

4 に答える 4

0

今、それはこのように見えます

category=Phone
error_level=1
service_name=API
status=Critical
notes=None

category=Phone
error_level=1
service_name=Inbound+Calls
status=Critical
notes=None

category=Phone
error_level=2
service_name=Outbound+Calls
status=Minor+issue
notes=None

category=Consumer
error_level=1
service_name=www.website1.com
status=Critical
notes=None

現在、あるレコードを別のレコードと区別する方法がないため、if ステートメントを実行してそのレコードが更新されたかどうかを確認することはできません。行の一意の ID を含む別の入力フィールド (非表示の場合でも) を追加できる場合は、If ステートメントを実行して、レコードが変更されたかどうかを確認し、その行で MySQL Update ステートメントを実行できます。

更新されているかどうかを確認するためのユニークなものがなければ、すべての行を削除し、各行の Insert ステートメントでそれらを読み取るだけです。

于 2013-08-01T16:21:28.733 に答える