に挿入し、これはプログラミングの分野での私の1年目であると私はプログラミングではまだ新しいです。私はここで家系図の設計に関するいくつかの他の記事を読みましたが、私はあなたの助けを必要とするので、私はまだいくつかの詳細を理解していませんでした。ところで、私はPHPデータベースファミリーのデザインとどのようにデータベース
を使用し、これは私の簡易版フォーム
// family leader
<div id="family_leader">
<input type="text" name="name[]">
<input type="text" name="ic[]"> // ic is the same like SSN
</div>
// family member
// here input wife or child info
// i use javascript to clone the div so user can add how many family member they have.
<div id="family_member">
<input type="text" name="name[]">
<input type="number" name="ic[]">
<input type="text" name="relationship[]">
</div>
であり、私は、データベースを作るの
第一の表は、
次のようになりますこのように思っていますユーザテーブル
+--------+--------------+--------------+
| id | name | ic |
+--------+--------------+--------------+
| id1 | John | 9357906268 |
+--------+--------------+--------------+
| id2 | Josh | 9357222228 |
+--------+--------------+--------------+
とi wi彼らの関係のために別のテーブルを持っているでしょう
関係表誰もジョシュ
ジョン
- この
+-------------+--------------+--------------+ | owner_id | family_id | relationship | +-------------+--------------+--------------+ | ic1/id1 | ic2/id2 | father | +-------------+--------------+--------------+ | ic2/id2 | ic1/id1 | child | +-------------+--------------+--------------+
i makeそのような
夫は1妻 父持っている1または多数の子 子供がとても1人の父
を持っていた
単一の親の場合には、私は、このデータが見えるようにしたいプロファイルにもこの方法ここまでは、私が得たものである
家族クラス
<?php /** * this is my family class */ class Family { function __construct(argument) { # database construct here } public function getUser($_POST) { foreach ($_POST['name'] as $row) { # this is how im going to insert the data of user into user table $sql1="INSERT INTO User (name, ic) values (" $_POST[name][i]", "$_POST[ic][i]")" // e.g John, 9357906268 } } public function getRelation($_POST) { $sql2="INSERT INTO Relationship (owner_id, family_id, relationship) values ($_POST['ic'][i], $_POST['ic'][1], $_POST['relationship'][i])" /** * this is where my problem reside * i don't know how to make this function */ } }
2番目のテーブルに正しく挿入するにはどうすればいいですか?
私もgetRelation
switch ($_POST['relation']) { case 'father': // in here is if Josh is a father to John then John is a child to Josh. break; case 'mother': # code... break; // ... more case default: # code... break; }
または多分クラスでより多くの機能を作成して内部のスイッチケースをやってと思っていますか?
public function isFather($value='') { # code... } public function isMother($value='') { # }
問題は、ユーザーの関係を決定するために、機能やスイッチのケース内でロジックを実行する方法がわかりません。
、これはデータベースの設計とOOPの正しい方法は何ですか?
はあなたの時間をありがとうございました。
あー感謝を!私は今これを試みます。 –
このようにファミリークラスを使用しますか? '$ファミリー=新しいファミリー(); \t $ family = saveFamily(); 'クラスは$ _POSTを取得しますか? –
'Family'クラスの中で' saveFamily() 'を定義し、' $ family = new Family(); $ family-> saveFamily(); '将来、あなたは[メソッド連鎖](https://en.wikipedia.org/wiki/Method_chaining#PHP)のような素敵なテクニックを探すかもしれません –