2016-11-17 7 views
0

私は単純な不動産管理システムを構築してPHPを学んでいます。私は人々が家の詳細を追加することができるフォームを持っており、それは "プロパティ"というテーブルに追加されます。私はその後、家を見たときにギャラリーとして表示される家の複数の画像を追加する機能が必要でした。単一のレコードの複数の画像アップロードを扱うアプローチ

"propertyimages"と呼ばれる画像パスを処理する別のテーブルを作成しました。このテーブルの行を、「プロパティ」テーブルのIDを介してプロパティにリンクできます。しかし、私の質問は、プロパティ自体がまだテーブルに保存されていない場合は、どのようにプロパティのIDで画像パスを保存することができますか?

つまり、画像のパスを保存するためのプロパティIDを持っているため、プロパティを最初に保存してから画像を追加する方が簡単ですが、同じフォームではどのように行うことができますか時間?

+0

あなたがこれまで行ってきたことを示してください – urfusion

+0

私はコードを要求していません、ちょっとした提案やアプローチです。私のコードは私の質問と無関係です。 –

+1

イメージはプロパティの詳細の一部を形成するため、プロパティとイメージを同時に保存する必要があります。つまり、プロパティを保存し、IDを取得し、IDに対してイメージを保存します。これらのアクションはすべて1つのトランザクション内で行われるため、プロパティは画像とともに保存されるか、まったく保存されません。 –

答えて

0

これは多くのアプローチの1つです。あなたのadd.phpファイル(または何でもあなたはそれを命名している)の上部に

は、変数に割り当て、UUIDを生成し、フォーム内のあなたのprocess.phpファイル(またはものは何でもあなたに渡され<input type="hidden" name="id" value="<?=$UUID;?">を持っていますそれに名前をつけた)

私が他のやり方を述べたので、あなたが指摘した通りにを学んでいるのなら、これはおそらく簡単な方法の1つです。

+0

それはエレガントなソリューションです!私は間違いなく私のコードにこれを組み込むつもりです:)ありがとう –

0

一時的な場所に画像を保存し、その名前をあなたの家のフォームの隠れた入力に入れることができます。ハウスが作成されたら、画像を適切な場所に移動して、入力。イメージを保管した後に送り返し、非表示の入力に入れると、イメージをサーバー上で一意の名前にすることを忘れないでください。

最高のは、あなたがそれを

+0

Aaah、そうです。それは理にかなっている。ありがとうございます –

0

を保存することができますので、最初のPHPの一つの形とストアデータの間には関係がありません最初の家の名前を必要とすることにより、たとえば、保存する家を必要とすることはもちろんです。

あなたはその後、フォームを投稿する場合は、$ _POST

はそうあなたが最初のプロパティデータを追加する必要がPHP側のすべてのフォームデータを取得し、その後の画像を保存し、プロパティIDを使用してデータベースにエントリを作成します。

関連する問題