Ich bin immer noch neu in der Programmierung, da dies mein erstes Jahr im Bereich Programmierung ist. Ich habe ein paar andere Beiträge über das Entwerfen von Stammbaum hier gelesen, aber ich habe immer noch einige Details nicht verstanden, also brauche ich deine Hilfe. durch die Art und Weise, ich benutze PHPDatenbank-Design einer Familie und wie man in die Datenbank einfügt
dies ist meine vereinfachte Version Form
// 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>
und ich denke, eine Datenbank auf diese Weise machen
1. Tabelle wie folgt
sein Benutzertabelle
+--------+--------------+--------------+
| id | name | ic |
+--------+--------------+--------------+
| id1 | John | 9357906268 |
+--------+--------------+--------------+
| id2 | Josh | 9357222228 |
+--------+--------------+--------------+
und i wi ll eine andere Tabelle
für ihre Beziehung habenBeziehungstabelle
- ist niemand ein Vater/Mutter zu Josh
- Josh ein Vater John ist wie
die Tabelle aussehen diese
+-------------+--------------+--------------+
| owner_id | family_id | relationship |
+-------------+--------------+--------------+
| ic1/id1 | ic2/id2 | father |
+-------------+--------------+--------------+
| ic2/id2 | ic1/id1 | child |
+-------------+--------------+--------------+
ich mache es auf diese Weise bei alleinerziehender Mutter und ich möchten diese Daten in einem Profil seinen
sichtbar machen wie
Mann hat 1 Frau Vater 1 oder viel Kind hat Kind 1 Vater
so hat weit ist es das, was ich bekam
Familie Klasse
<?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
*/
}
}
also wie füge ich richtig in die 2. tabelle ein?
i auch im Inneren des getRelation denke ich
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;
}
oder vielleicht auch mehr Funktion in der Klasse einen Schalter Fall zu tun, schaffen?
public function isFather($value='')
{
# code...
}
public function isMother($value='')
{
#
}
das Problem ist, ich bin nicht sicher, wie die Logik innerhalb der Funktion oder Schaltergehäuse zu tun, um die Beziehung der Benutzer zu bestimmen.
und ist dies der richtige Weg der Datenbank-Design und OOP?
danke für Ihre Zeit.
ohhh Dank! Ich werde das jetzt versuchen. –
verwende ich die Familienklasse auf diese Weise? '$ family = neue Familie(); \t $ family = saveFamily(); 'Wird die Klasse $ _POST bekommen? –
Definiere 'saveFamily()' in 'Family' Klasse und benutze' $ family = new Family(); $ family-> saveFamily(); 'In Zukunft könntest du nach einigen schönen Techniken wie [method chaining] suchen (https://en.wikipedia.org/wiki/Method_chaining#PHP) –