データベースの挿入ステートメントを準備する方法を理解する必要がありPHP
、SQL
ロジックを理解するのに苦労しています。挿入ステートメントは、 で受信しているデータからのものになりますJSON
。にはJSON
、質問と回答が含まれています。それらを挿入しているテーブルが問題です。フロント エンド (Web サイト) では、テーブルには質問を表す列名があり、次のように表示されます。
Date | Address | City | Zip
問題は、これらの名前が引き継がれないデータベースにあります。列名は column1 column 2 などです。したがって、次のようになります
Column1 | Column2 | Column3 | Column4
もう1つ-このような各テーブルが作成されると、値が異なるため、関係をハードコーディングできません。また、これらのテーブルは、フロント エンド (Web サイト) から Excel スプレッドシートをインポートして作成されます。そこで、スプレッドシートの行 1 と行 2 を複製して、インポートするとデータベースが次のようになるようにする計画を思いつきました。
id | Column1 | Column2 | Column3 | Column4
1 | Date | Address | City | Zip
これで、挿入する必要がある値への参照が得られました。これで、次のステップが行われます。
- 行 1 のデータに基づいて列名を照会するか、列名を行 1 のデータに変更します。
- クエリに基づいて正しい列にデータを挿入します
したがって、要約すると、適切な情報がないと、質問を表す正しい列に回答を挿入できません。個人的には、列名を変更するPHP
方が良いオプションだと思います。しかし、私はかなり新しいのでPHP
、SQL
これが可能かどうかさえわかりません。どんな助けでも大歓迎です
編集
私が現在持っている問題を投稿している問題を少しよく理解するためにPHP
。
$json = safe($_POST['assessment']);
/*
$json =
'{
"info":
[
"Date: 6-22-13",
"Phone #: (555) 555-5555",
"Address: 304 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ"
]
}';
*/
$data = json_decode($json,true);
$collection = array();
foreach($data['info'] as $piece) {
$info = explode(':', $piece);
$collection[] = array('question' => $info[0], 'answer' => $info[1]);
}
echo '<pre>'; print_r($collection); echo '</pre>'