質問のタイトルを明確にしましょう。
Web アプリケーションのバックエンドを実装しています。
これは、1つの.html
ファイルで作成したいものです
- ユーザーは、マップ上にポイント、ライン、またはポリゴンを挿入します。
- ユーザーがフォームにテキスト データを入力します。このデータは、彼女がマップに挿入したジオメトリに関連しています。
- ユーザーは、html5 websockets/drag'n'drop 経由で写真とビデオをアップロードします。これらは、彼女がマップに挿入したジオメトリに対しても相対的です。
ページの下部には、データベースにすべてのデータを一度に保存する「すべて保存」という名前のボタンが 1 つだけあります (挿入)。
問題?データベースに 2 つの別々のテーブルがあります。1 つは「pins」という名前で、ジオメトリ データとフォーム データを取得します。
もう1つは「マルチメディア」という名前で、画像/ビデオを取得します。
「マルチメディア」には、「ピン」ID を含む「マルチピン」という名前の列があるので、ピンとマルチメディアを関連付けることができます。
ID を含むすべての列は「SERIAL」です (挿入するたびに、ID は自動的に +1 になります)。
両方の挿入を同時に行うと、新しい「ピン」ID を取得して「マルチメディア」の「マルチピン」列に挿入する方法はないと考えていました。新しい「ピン」ID が作成されるのを待ってから、それを「マルチピン」に挿入する必要があります。
というわけで、2回挿入(?) 思いついた解決策は、3つのhtml
ファイルを作成することです。最初に、ユーザーはジオメトリとフォーム データを挿入します。「ここをクリックしてマルチメディアを追加」という名前のボタンを押します。このボタンは、「ピン」に挿入され、新しい ID を取得する別のファイルにデータを送信します。3 番目のファイルにリダイレクトし、新しい「ピン」も送信します。したがって、ユーザーは写真/ビデオを挿入でき、コードは「ピン」IDを認識しているため、「マルチピン」に配置できます。
これでよろしいでしょうか?より良い方法または戦略はありますか?
「一度に保存」バージョンの場合、私はwebsocketsを考えていました...「3ファイルバージョン」の場合は?マルチメディアのためだけに「従来の」ajaxとwebsocketsを使用する必要がありますか?
大きな質問で申し訳ありません。そして私の英語(私の母国語ではありません)
お時間をいただきありがとうございます
スレビン