placeの編集フォームがあります。場所は、「所有者」エントリを作成したエージェントのみが編集できます。
編集ページへのリンク: /edit.php?owner=1&place=2
I. データベース:
場所の所有者情報 (db 所有者):
ownerID(PK) oAddress oPhone agentID
------------------------------------------------------
1 street 15 0523541 500
場所情報 (db 場所):
placeID(PK) pAddress pPhone ownerID
------------------------------------------------------
1 street 24 0523541 500
画像情報(データベース画像):
imageID(PK) URL placeID
---------------------------------------------------
1 image.jpg 5
国データベース (選択フィールドの国データベース)
Ⅱ.STRUCTURE (実際の PHP コードではありません):
data from login session -> $agentID
owner ID from url -> $ownerID
place ID from url -> $placeID
SELECT agentID, oAddress, oPhone FROM owner WHERE ownerID='$ownerID' ($oAgentID)
check if $oAgentID==$agentID (if agent is allowed to edit, if not exit code).
check if submit button is set (if yes -> include UPDATE code )
SELECT * FROM place WHERE placeID='$placeID'
SELECT * FROM countries
SELECT url FROM images WHERE placeID='$placeID'
<html>
<img>current place images preview</img>
<form>
text inputs, values filled with current database data
form submit
</form>
</html>
私の質問:
この構造でいいの?データベースからの選択が多すぎると思います。UPDATE プロセスの前に place テーブルを owner テーブルに結合できたかもしれませんが、その場合、値は最新ではありません。
助言がありますか?